summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-03-18ALSA: opl3: fix mismatch between snd_opl3_drum_switch definition and declarationColin Ian King
The function snd_opl3_drum_switch declaration in the header file has the order of the two arguments on_off and vel swapped when compared to the definition arguments of vel and on_off. Fix this by swapping them around to match the definition. This error predates the git history, so no idea when this error was introduced. Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2019-03-18ALSA: hda - add Lenovo IdeaCentre B550 to the power_save_blacklistJaroslav Kysela
Another machine which does not like the power saving (noise): https://bugzilla.redhat.com/show_bug.cgi?id=1689623 Also, reorder the Lenovo C50 entry to keep the table sorted. Reported-by: hs.guimaraes@outlook.com Signed-off-by: Jaroslav Kysela <perex@perex.cz> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2019-03-18dt-bindings: xilinx: Separate clock binding from firmware docRajan Vaja
Clock description is part of firmware doc. Move clock description in separate doc. Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Signed-off-by: Jolly Shah <jollys@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-03-18include: dt-binding: clock: Rename zynqmp header fileJolly Shah
Rename file name of ZynqMP clk dt-bindings to align with file name of reset and power dt-bindings. Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Signed-off-by: Jolly Shah <jolly.shah@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2019-03-18iommu/amd: fix sg->dma_address for sg->offset bigger than PAGE_SIZEStanislaw Gruszka
Take into account that sg->offset can be bigger than PAGE_SIZE when setting segment sg->dma_address. Otherwise sg->dma_address will point at diffrent page, what makes DMA not possible with erros like this: xhci_hcd 0000:38:00.3: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0000 address=0x00000000fdaa70c0 flags=0x0020] xhci_hcd 0000:38:00.3: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0000 address=0x00000000fdaa7040 flags=0x0020] xhci_hcd 0000:38:00.3: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0000 address=0x00000000fdaa7080 flags=0x0020] xhci_hcd 0000:38:00.3: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0000 address=0x00000000fdaa7100 flags=0x0020] xhci_hcd 0000:38:00.3: AMD-Vi: Event logged [IO_PAGE_FAULT domain=0x0000 address=0x00000000fdaa7000 flags=0x0020] Additinally with wrong sg->dma_address unmap_sg will free wrong pages, what what can cause crashes like this: Feb 28 19:27:45 kernel: BUG: Bad page state in process cinnamon pfn:39e8b1 Feb 28 19:27:45 kernel: Disabling lock debugging due to kernel taint Feb 28 19:27:45 kernel: flags: 0x2ffff0000000000() Feb 28 19:27:45 kernel: raw: 02ffff0000000000 0000000000000000 ffffffff00000301 0000000000000000 Feb 28 19:27:45 kernel: raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000 Feb 28 19:27:45 kernel: page dumped because: nonzero _refcount Feb 28 19:27:45 kernel: Modules linked in: ccm fuse arc4 nct6775 hwmon_vid amdgpu nls_iso8859_1 nls_cp437 edac_mce_amd vfat fat kvm_amd ccp rng_core kvm mt76x0u mt76x0_common mt76x02_usb irqbypass mt76_usb mt76x02_lib mt76 crct10dif_pclmul crc32_pclmul chash mac80211 amd_iommu_v2 ghash_clmulni_intel gpu_sched i2c_algo_bit ttm wmi_bmof snd_hda_codec_realtek snd_hda_codec_generic drm_kms_helper snd_hda_codec_hdmi snd_hda_intel drm snd_hda_codec aesni_intel snd_hda_core snd_hwdep aes_x86_64 crypto_simd snd_pcm cfg80211 cryptd mousedev snd_timer glue_helper pcspkr r8169 input_leds realtek agpgart libphy rfkill snd syscopyarea sysfillrect sysimgblt fb_sys_fops soundcore sp5100_tco k10temp i2c_piix4 wmi evdev gpio_amdpt pinctrl_amd mac_hid pcc_cpufreq acpi_cpufreq sg ip_tables x_tables ext4(E) crc32c_generic(E) crc16(E) mbcache(E) jbd2(E) fscrypto(E) sd_mod(E) hid_generic(E) usbhid(E) hid(E) dm_mod(E) serio_raw(E) atkbd(E) libps2(E) crc32c_intel(E) ahci(E) libahci(E) libata(E) xhci_pci(E) xhci_hcd(E) Feb 28 19:27:45 kernel: scsi_mod(E) i8042(E) serio(E) bcache(E) crc64(E) Feb 28 19:27:45 kernel: CPU: 2 PID: 896 Comm: cinnamon Tainted: G B W E 4.20.12-arch1-1-custom #1 Feb 28 19:27:45 kernel: Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./B450M Pro4, BIOS P1.20 06/26/2018 Feb 28 19:27:45 kernel: Call Trace: Feb 28 19:27:45 kernel: dump_stack+0x5c/0x80 Feb 28 19:27:45 kernel: bad_page.cold.29+0x7f/0xb2 Feb 28 19:27:45 kernel: __free_pages_ok+0x2c0/0x2d0 Feb 28 19:27:45 kernel: skb_release_data+0x96/0x180 Feb 28 19:27:45 kernel: __kfree_skb+0xe/0x20 Feb 28 19:27:45 kernel: tcp_recvmsg+0x894/0xc60 Feb 28 19:27:45 kernel: ? reuse_swap_page+0x120/0x340 Feb 28 19:27:45 kernel: ? ptep_set_access_flags+0x23/0x30 Feb 28 19:27:45 kernel: inet_recvmsg+0x5b/0x100 Feb 28 19:27:45 kernel: __sys_recvfrom+0xc3/0x180 Feb 28 19:27:45 kernel: ? handle_mm_fault+0x10a/0x250 Feb 28 19:27:45 kernel: ? syscall_trace_enter+0x1d3/0x2d0 Feb 28 19:27:45 kernel: ? __audit_syscall_exit+0x22a/0x290 Feb 28 19:27:45 kernel: __x64_sys_recvfrom+0x24/0x30 Feb 28 19:27:45 kernel: do_syscall_64+0x5b/0x170 Feb 28 19:27:45 kernel: entry_SYSCALL_64_after_hwframe+0x44/0xa9 Cc: stable@vger.kernel.org Reported-and-tested-by: Jan Viktorin <jan.viktorin@gmail.com> Reviewed-by: Alexander Duyck <alexander.h.duyck@linux.intel.com> Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Fixes: 80187fd39dcb ('iommu/amd: Optimize map_sg and unmap_sg') Signed-off-by: Joerg Roedel <jroedel@suse.de>
2019-03-18mmc: davinci: remove extraneous __init annotationArnd Bergmann
Building with clang finds a mistaken __init tag: WARNING: vmlinux.o(.text+0x5e4250): Section mismatch in reference from the function davinci_mmcsd_probe() to the function .init.text:init_mmcsd_host() The function davinci_mmcsd_probe() references the function __init init_mmcsd_host(). This is often because davinci_mmcsd_probe lacks a __init annotation or the annotation of init_mmcsd_host is wrong. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Wolfram Sang <wsa@the-dreams.de> Reviewed-by: Nathan Chancellor <natechancellor@gmail.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2019-03-18mmc: pxamci: fix enum type confusionArnd Bergmann
clang points out several instances of mismatched types in this drivers, all coming from a single declaration: drivers/mmc/host/pxamci.c:193:15: error: implicit conversion from enumeration type 'enum dma_transfer_direction' to different enumeration type 'enum dma_data_direction' [-Werror,-Wenum-conversion] direction = DMA_DEV_TO_MEM; ~ ^~~~~~~~~~~~~~ drivers/mmc/host/pxamci.c:212:62: error: implicit conversion from enumeration type 'enum dma_data_direction' to different enumeration type 'enum dma_transfer_direction' [-Werror,-Wenum-conversion] tx = dmaengine_prep_slave_sg(chan, data->sg, host->dma_len, direction, The behavior is correct, so this must be a simply typo from dma_data_direction and dma_transfer_direction being similarly named types with a similar purpose. Fixes: 6464b7140951 ("mmc: pxamci: switch over to dmaengine use") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Nathan Chancellor <natechancellor@gmail.com> Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> Cc: stable@vger.kernel.org Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2019-03-18dt-bindings: power: r8a77965: Remove non-existent A3IR power domainGeert Uytterhoeven
The R-Car Gen3 HardWare Manual Errata for Rev. 0.80 (Feb 28, 2018) removed the A3IR power domain on R-Car M3-N, as this SoC does not have an Image Processing Unit (IMP-X5). As of commit d8c6557bc93be73e ("arm64: dts: renesas: r8a77965: Remove non-existent IPMMU-IR"), this definition is no longer used from DT, and thus can be removed. Fixes: a527709b78b3c997 ("soc: renesas: rcar-sysc: Add R-Car M3-N support") Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18dt-bindings: Add vendor prefix for Silicon Linux.Biju Das
Add Silicon Linux to the list of devicetree vendor prefixes. Website: http://www.si-linux.co.jp Signed-off-by: Biju Das <biju.das@bp.renesas.com> Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> Reviewed-by: Chris Paterson <Chris.Paterson2@renesas.com> Reviewed-by: Andreas Färber <afaerber@suse.de> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18arm64: dts: renesas: ebisu: Add PMIC DDR0 Backup Power configSimon Horman
On Ebisu the DDR0 power rail needs to be kept powered when backup mode is enabled. Reflect this in the "rohm,ddr-backup-power" property for the BD9571MWV PMIC node. The accessory power switch (SW23) is a toggle switch, hence specify "rohm,rstbmode-level". Based on advice from Geert Uytterhoeven. Signed-off-by: Simon Horman <horms+renesas@verge.net.au> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
2019-03-18arm64: dts: renesas: r8a77990-ebisu: Add BD9571 PMICTakeshi Kihara
This patch adds the regulator definition required for operation of S2RAM. Signed-off-by: Takeshi Kihara <takeshi.kihara.df@renesas.com> Signed-off-by: Yoshihiro Kaneko <ykaneko0929@gmail.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
2019-03-18arm64: dts: renesas: r8a77990: Remove invalid compatible value for CSI40Niklas Söderlund
The compatible value renesas,rcar-gen3-csi2 was used while prototyping the R-Car CSI-2 driver but was removed before the driver was merged. Remove the only occurrence of the compatible value which manage to make it upstream. Fixes: ec70407ae7d7 ("arm64: dts: renesas: r8a77990: Add VIN and CSI-2 device nodes") Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18arm64: dts: renesas: r8a774c0: Remove invalid compatible value for CSI40Niklas Söderlund
The compatible value renesas,rcar-gen3-csi2 was used while prototyping the R-Car CSI-2 driver but was removed before the driver was merged. Fixes: e961ab42e034d469 ("arm64: dts: renesas: r8a774c0: Add VIN and CSI-2 device nodes") Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18arm64: dts: renesas: r8a77995: draak: Enable CAN0, CAN1Marek Vasut
Enable both CAN0 and CAN1 controllers on R8A77995 Draak board, since they are available on connectors CN43, CN44 respectively. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18arm64: dts: renesas: r8a774c0-cat874: Add RWDT supportFabrizio Castro
Enable RWDT and use 60 seconds as default timeout. Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> Reviewed-by: Chris Paterson <chris.paterson2@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18arm64: dts: renesas: ebisu: Enable VIN5Takeshi Kihara
Both VIN4 and VIN5 are connected to CSI40 and can be configured at runtime to use the single video source connected to CSI40. Enable VIN5 to allow it to be used in this fashion. Signed-off-by: Takeshi Kihara <takeshi.kihara.df@renesas.com> [Niklas: rewrite commit message] Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18arm64: dts: renesas: r8a774c0-cat874: Add LEDs supportFabrizio Castro
This patch adds LEDs support to the CAT874 board specific device tree. Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18arm64: dts: renesas: r8a774c0-cat874: add RTC supportBiju Das
This patch adds Epson RX-8571 real time clock support. Signed-off-by: Biju Das <biju.das@bp.renesas.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18arm64: dts: renesas: cat875: Add CAN supportFabrizio Castro
Add CAN support to the CAT875 sub board. Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18arm64: dts: renesas: r8a774c0: Fix cpu nodes styleFabrizio Castro
We usually leave a space between "=" and the value of device tree properties, but unfortunately that was overlooked for the "clocks" property of cpu@0 and cpu@1. This patch fixes the spacing with the "clocks" property of cpu@0 and cpu@1. Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18arm64: dts: renesas: r8a77965: add SSIU support for soundJiada Wang
rsnd driver supports SSIU now, let's use it. Then, BUSIF DMA settings on rcar_sound,ssi (= rxu, txu) are no longer needed. Applies commit 8d14bfa074db ("arm64: dts: renesas: r8a7796: add SSIU support for sound") and commit 10bd03fa896e ("arm64: dts: renesas: r8a7796: remove BUSIF0 settings from rcar_sound,ssi") for r8a77965. Signed-off-by: Jiada Wang <jiada_wang@mentor.com> Signed-off-by: Timo Wischer <twischer@de.adit-jv.com> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18arm64: dts: renesas: ebisu: Fix adv7482 hexadecimal register addressTakeshi Kihara
The register address used for the reg property of the adv7482 node in other Renesas device trees are decimal not hex, change this for Ebisu to align it with the others. Signed-off-by: Takeshi Kihara <takeshi.kihara.df@renesas.com> [Niklas: rewrite commit message] Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se> Acked-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18arm64: dts: renesas: r8a77995: draak: Enable LVDS1 encoderLaurent Pinchart
The LVDS1 encoder must supply a pixel clock to the DU for the DPAD output when the LVDS0 encoder is used. Enable it despite its output not being connected. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18arm64: dts: renesas: r8a77990: ebisu: Enable LVDS1 encoderLaurent Pinchart
The LVDS1 encoder must supply a pixel clock to the DU for the DPAD output when the LVDS0 encoder is used. Enable it despite its output not being connected. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18arm64: dts: renesas: r8a7796: remove unneeded sound #address/size-cellsJiada Wang
commit 78bc93b3ffb2 ("arm64: dts: renesas: r8a7796: Add address properties to rcar_sound port nodes") added missing #address-cells and #size-cells for sound ports. But, these are based on platform, not on SoC. This patch cleanups it. Signed-off-by: Jiada Wang <jiada_wang@mentor.com> Signed-off-by: Timo Wischer <twischer@de.adit-jv.com> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18arm64: dts: renesas: r8a77990: Fix SPDX license identifier styleGeert Uytterhoeven
According to Documentation/process/license-rules.rst, SPDX license identifiers in DTS files should use C++ style comments. Fixes: f37a7767f6c4ec66 ("arm64: dts: renesas: Add Renesas R8A77990 SoC support") Fixes: 77049191b24b4586 ("arm64: dts: renesas: Add Renesas Ebisu board support") Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18arm64: dts: renesas: r8a77990: ebisu: Add GPIO expanderGeert Uytterhoeven
Describe the ON Semiconductor PCA9654 I/O expander on the first I2C bus, which provides 8 extra GPIOs. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2019-03-18powerpc/vdso64: Fix CLOCK_MONOTONIC inconsistencies across Y2038Michael Ellerman
Jakub Drnec reported: Setting the realtime clock can sometimes make the monotonic clock go back by over a hundred years. Decreasing the realtime clock across the y2k38 threshold is one reliable way to reproduce. Allegedly this can also happen just by running ntpd, I have not managed to reproduce that other than booting with rtc at >2038 and then running ntp. When this happens, anything with timers (e.g. openjdk) breaks rather badly. And included a test case (slightly edited for brevity): #define _POSIX_C_SOURCE 199309L #include <stdio.h> #include <time.h> #include <stdlib.h> #include <unistd.h> long get_time(void) { struct timespec tp; clock_gettime(CLOCK_MONOTONIC, &tp); return tp.tv_sec + tp.tv_nsec / 1000000000; } int main(void) { long last = get_time(); while(1) { long now = get_time(); if (now < last) { printf("clock went backwards by %ld seconds!\n", last - now); } last = now; sleep(1); } return 0; } Which when run concurrently with: # date -s 2040-1-1 # date -s 2037-1-1 Will detect the clock going backward. The root cause is that wtom_clock_sec in struct vdso_data is only a 32-bit signed value, even though we set its value to be equal to tk->wall_to_monotonic.tv_sec which is 64-bits. Because the monotonic clock starts at zero when the system boots the wall_to_montonic.tv_sec offset is negative for current and future dates. Currently on a freshly booted system the offset will be in the vicinity of negative 1.5 billion seconds. However if the wall clock is set past the Y2038 boundary, the offset from wall to monotonic becomes less than negative 2^31, and no longer fits in 32-bits. When that value is assigned to wtom_clock_sec it is truncated and becomes positive, causing the VDSO assembly code to calculate CLOCK_MONOTONIC incorrectly. That causes CLOCK_MONOTONIC to jump ahead by ~4 billion seconds which it is not meant to do. Worse, if the time is then set back before the Y2038 boundary CLOCK_MONOTONIC will jump backward. We can fix it simply by storing the full 64-bit offset in the vdso_data, and using that in the VDSO assembly code. We also shuffle some of the fields in vdso_data to avoid creating a hole. The original commit that added the CLOCK_MONOTONIC support to the VDSO did actually use a 64-bit value for wtom_clock_sec, see commit a7f290dad32e ("[PATCH] powerpc: Merge vdso's and add vdso support to 32 bits kernel") (Nov 2005). However just 3 days later it was converted to 32-bits in commit 0c37ec2aa88b ("[PATCH] powerpc: vdso fixes (take #2)"), and the bug has existed since then AFAICS. Fixes: 0c37ec2aa88b ("[PATCH] powerpc: vdso fixes (take #2)") Cc: stable@vger.kernel.org # v2.6.15+ Link: http://lkml.kernel.org/r/HaC.ZfES.62bwlnvAvMP.1STMMj@seznam.cz Reported-by: Jakub Drnec <jaydee@email.cz> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2019-03-18drm/vkms: fix use-after-free when drm_gem_handle_create() failsEric Biggers
If drm_gem_handle_create() fails in vkms_gem_create(), then the vkms_gem_object is freed twice: once when the reference is dropped by drm_gem_object_put_unlocked(), and again by the extra calls to drm_gem_object_release() and kfree(). Fix it by skipping the second release and free. This bug was originally found in the vgem driver by syzkaller using fault injection, but I noticed it's also present in the vkms driver. Fixes: 559e50fd34d1 ("drm/vkms: Add dumb operations") Cc: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com> Cc: Haneen Mohammed <hamohammed.sa@gmail.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: stable@vger.kernel.org Signed-off-by: Eric Biggers <ebiggers@google.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com> Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190226220858.214438-1-ebiggers@kernel.org Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
2019-03-18drm/vgem: fix use-after-free when drm_gem_handle_create() failsEric Biggers
If drm_gem_handle_create() fails in vgem_gem_create(), then the drm_vgem_gem_object is freed twice: once when the reference is dropped by drm_gem_object_put_unlocked(), and again by __vgem_gem_destroy(). This was hit by syzkaller using fault injection. Fix it by skipping the second free. Reported-by: syzbot+e73f2fb5ed5a5df36d33@syzkaller.appspotmail.com Fixes: af33a9190d02 ("drm/vgem: Enable dmabuf import interfaces") Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Laura Abbott <labbott@redhat.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: stable@vger.kernel.org Signed-off-by: Eric Biggers <ebiggers@google.com> Acked-by: Laura Abbott <labbott@redhat.com> Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190226214451.195123-1-ebiggers@kernel.org Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
2019-03-18arm64: dts: rockchip: Add nanopi4 ethernet phyRobin Murphy
The nanopi4 boards have the INTB pin of the RTL8211E phy wired up, so we can make use of that and avoid having to poll for line status changes. Apparently RTL8211E only requires 30ms of post-reset delay, so we may as well save a little bit of time there as well. Signed-off-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: Add PWM fan for NanoPC-T4Robin Murphy
NanoPC-T4 has a dedicated circuit for driving a 12V fan from PWM1, so let's add that along with some rough empirically-derived thermal settings for the benefit of anyone determined enough to hook one up. The vendor does not currently offer a suitable fan, but this seems as good a place as any to note that pre-terminated 3-pin JST GH connectors are readily available online, and if you even have to ask, then splicing one of those really will be orders of magnitude cheaper and simpler than getting set up to crimp the teeny-tiny things by hand. Signed-off-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: Add the fusb typec manager to rk3399-orangepiAlexis Ballier
Also rename its regulator to match the schematic names. Signed-off-by: Alexis Ballier <aballier@gentoo.org> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: Specify vid supply for the rk3399-orangepi compass ↵Alexis Ballier
(AK09911) Despite this not being mentioned in the binding documentation, this generates a log at boot about it being missing. Signed-off-by: Alexis Ballier <aballier@gentoo.org> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: Fix clock names and add missing supplies for bluetooth ↵Alexis Ballier
on rk3399-orangepi Clock name was wrong, vbat & vddio supplies were missing. Signed-off-by: Alexis Ballier <aballier@gentoo.org> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: Add 12V DCIN regulator to rk3399-ficusJagan Teki
12V DCIN regulator is root source supply for the rest of regulators in Rock960 power diagram. Add support for it and attach same to supply vcc5v0_sys. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Signed-off-by: Akash Gajjar <akash@openedev.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: Rename vcc_sys into vcc5v0_sys on rk3399-rock960Jagan Teki
It is always better practice to follow regulator naming conventions as per the schematics for future references. So, rename vcc_sys into vcc5v0_sys as per rk3399 power diagram of rock960 schematics. Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Signed-off-by: Akash Gajjar <akash@openedev.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: Add Nanopi NEO4 initial supportJagan Teki
FriendlyElec NanoPi NEO4 is known to be a revision 4 based NanoPi4 series of boards. Most of know peripherals are shared between Nanopi M4 vs NEO4, except - 1GB DDR3 - USB Host ports - Missing DSI port - USB 2.0 Host with USB2PHY0 (no USB2PH1) Add support for it, by reusing existing rk3399-nanopi4.dtsi Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Signed-off-by: Akash Gajjar <akash@openedev.com> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: enable hdmi audio out for rk3399-rockpro64Katsuhiro Suzuki
The rockpro64 has hdmi support. So this patch enables hdmi audio feature that is defined in rk3399 devicetree. Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: Add support for the Orange Pi RK3399 board.Alexis Ballier
This adds basic support for the Orange Pi RK3399 board. What works: - SD card / emmc. - Debug UART - Ethernet - USB: Type C, internal USB3 for SATA, 4 USB 2.0 ports - Sensors: All of them but the Hall sensor. - Buttons - Wifi, Bluetooth - HDMI out Signed-off-by: Alexis Ballier <aballier@gentoo.org> Reviewed-by: Rob Herring <robh@kernel.org> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: enable mali on rock960 boardsEzequiel Garcia
Enable the mali gpu node. Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: enable mali on Rock Pi 4Ezequiel Garcia
Enable the mali gpu node. Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: add rk3328-roc-cc cpu-supply entries for all cpu nodesLeonidas P. Papadakos
In line with the rock64 dts, specify the cpu-supply for the other cpus as well Signed-off-by: Leonidas P. Papadakos <papadakospan@gmail.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: give some life to the rk3328-roc-cc ledsLeonidas P. Papadakos
Assign the LEDs to heartbeat and sdcard io, as in other RK boards. https://github.com/armbian/build/commit/f1affad5c7be62d6e93832af3556c7609edd0858 Suggested-by: Juan Cano <j3cano@outlook.com> Signed-off-by: Leonidas P. Papadakos <papadakospan@gmail.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: add #sound-dai-cells to HDMI of rk3328Katsuhiro Suzuki
This patch adds #sound-dai-cells to use HDMI node as audio codec from device tree of rk3328 boards. Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: add ir-receiver node on rk3328-rock64Jonas Karlman
Add ir-receiver node to enable on-board IR on Rock64. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: add leds node on rk3328-rock64Jonas Karlman
Add led nodes on Rock64. Use heartbeat trigger for the red standby led and use mmc0 trigger for the white power led. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: fix regulator name on rk3328-rock64Jonas Karlman
Update regulator-name to match node and schematics. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: enable HDMI CEC on rk3328Jonas Karlman
This patch enables HDMI CEC on RK3328 devices. (Unusual) source for the cec clock is taken from the vendor kernel. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2019-03-18arm64: dts: rockchip: Add capacity-dmips-mhz attributes to rk3399Marc Zyngier
The RK3399 has the interesting property to be a so called "big-little" system, where not all the CPUs are equal (the A53s are much weaker than the A72s). So far, we're not telling the OS that there is such a difference in processing capacity, and Linux assumes that they are equal. Too bad. Let's tell the OS about this by using the capacity-dmips-mhz property. The values used here are those used on the Juno platform, which is quite similar. This leads to the scheduler knowing that it can pack more tasks on the A72s, and leads to a better interactive experience. Tested-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>