Commit graph

25314 commits

Author SHA1 Message Date
Sinclair Yeh
74276868b4 drm/vmwgfx: Make sure backup_handle is always valid
commit 07678eca2cf9c9a18584e546c2b2a0d0c9a3150c upstream.

When vmw_gb_surface_define_ioctl() is called with an existing buffer,
we end up returning an uninitialized variable in the backup_handle.

The fix is to first initialize backup_handle to 0 just to be sure, and
second, when a user-provided buffer is found, we will use the
req->buffer_handle as the backup_handle.

Reported-by: Murray McAllister <murray.mcallister@insomniasec.com>
Signed-off-by: Sinclair Yeh <syeh@vmware.com>
Reviewed-by: Deepak Rawat <drawat@vmware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-14 13:16:25 +02:00
Vladis Dronov
619cc02fd8 drm/vmwgfx: limit the number of mip levels in vmw_gb_surface_define_ioctl()
commit ee9c4e681ec4f58e42a83cb0c22a0289ade1aacf upstream.

The 'req->mip_levels' parameter in vmw_gb_surface_define_ioctl() is
a user-controlled 'uint32_t' value which is used as a loop count limit.
This can lead to a kernel lockup and DoS. Add check for 'req->mip_levels'.

References:
https://bugzilla.redhat.com/show_bug.cgi?id=1437431

Signed-off-by: Vladis Dronov <vdronov@redhat.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-14 13:16:25 +02:00
Dan Carpenter
e4c05b3a75 drm/vmwgfx: Handle vmalloc() failure in vmw_local_fifo_reserve()
commit f0c62e9878024300319ba2438adc7b06c6b9c448 upstream.

If vmalloc() fails then we need to a bit of cleanup before returning.

Fixes: fb1d9738ca ("drm/vmwgfx: Add DRM driver for VMware Virtual GPU")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Sinclair Yeh <syeh@vmware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-14 13:16:25 +02:00
Eric Anholt
ba9fe2e807 drm/msm: Expose our reservation object when exporting a dmabuf.
commit 43523eba79bda8f5b4c27f8ffe20ea078d20113a upstream.

Without this, polling on the dma-buf (and presumably other devices
synchronizing against our rendering) would return immediately, even
while the BO was busy.

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Rob Clark <robdclark@gmail.com>
Cc: linux-arm-msm@vger.kernel.org
Cc: freedreno@lists.freedesktop.org
Reviewed-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-14 13:16:23 +02:00
Alex Deucher
1f6791d4f2 drm/amdgpu/ci: disable mclk switching for high refresh rates (v2)
commit 0a646f331db0eb9efc8d3a95a44872036d441d58 upstream.

Even if the vblank period would allow it, it still seems to
be problematic on some cards.

v2: fix logic inversion (Nils)

bug: https://bugs.freedesktop.org/show_bug.cgi?id=96868

Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-14 13:16:21 +02:00
Guchun Chen
bdac1e68ba msm: smmu: add re-route calling for specified iova when mapping
When calling smmu mapping, if iova is specified directly by user, not
allocated dynamically in dma-mapping.c, smmu driver needs to provide
support for this. This is needed in early display case. In this scenario,
LK has set physical memory to display hardware for fetching, so if iova
is not explicitly specified in kernel, but instead dynamically produced
by "alloc_iova" in dma-mapping.c, display hardware has no chance to know
this new iova, then smmu fault will happen if enabling the iommu stage-1
translation.
To fix this smmu fault problem, add re-routing to the right path when
iova specified by user is not 0 in smmu map function.

Change-Id: I555fe7ae44464f25245d2d0a6740a2411a8624ba
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
2017-06-14 11:18:47 +08:00
Linux Build Service Account
f19eadaabe Merge "drm/msm: Use per-ring submit lists" 2017-06-13 16:29:03 -07:00
Linux Build Service Account
076704b374 Merge "drm/msm: fix leak in failed submit path" 2017-06-13 16:29:01 -07:00
Linux Build Service Account
0bb8d348da Merge "drm/msm: Fix possible overflow issue in submit_cmd" 2017-06-13 16:28:58 -07:00
Abhijit Kulkarni
02bb9a64ee drm/msm/sde: add support to select secure context bank
Add support in the sde plane component to select the secure context
bank based on the fb_mode plane property. This changes also sets the
correct hw settings for the secure plane src address.

CRs-Fixed: 2053654
Change-Id: Iacdfbb366b3ff56fcd5036fb9157547542095cde
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2017-06-13 11:20:03 -07:00
Hareesh Gundu
71c3b2e17c msm: kgsl: Defer issue commands to worker thread
Currently submit ioctl getting blocked till the commands
gets added to ringbuffer incase inflight count is less
than context burst count. If the submit command happens
in GPU slumber state, it will add the GPU wakeup time to
submit IOCTL. This will add latency in preparing next frame
in CPU side. Defer commands submission to dispatcher worker,
if the GPU is in slumber state.

CRs-Fixed: 2055107
Change-Id: I099ba721e02bbcd8ccadb1bc518c7c1ef4fb7e21
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
2017-06-13 12:03:27 +05:30
Linux Build Service Account
a5ab1b911f Merge "drm/msm: Fix kernel address issue of profile buffer" 2017-06-12 21:43:17 -07:00
Linux Build Service Account
dd7a94047f Merge "msm: kgsl: Log clk set, enable and prepare failure" 2017-06-12 21:43:15 -07:00
Yunyun Cao
916012368c drm: msm: Enable asynchronous driver probing
Do asynchronous driver probing of drm msm driver
to improve the device boot-up time.

Change-Id: I19e12a8330b35efb3d89abf9ba825637b08e71f3
Signed-off-by: Yunyun Cao <yunyunc@codeaurora.org>
2017-06-12 18:38:28 -07:00
Jordan Crouse
7d46546d28 drm/msm: Add per-instance submit queues
Currently the priority and other behavior of a command stream
is provided by the user application during submission and
the application is expected to internally maintain the settings
for each 'context' or 'rendering queue' and specify the correct
ones.

This works okay for simple cases but as applications become more
complex we will want to set context specific flags and do various
permisson checks to allow certain contexts to enable additional
privileges.

Add kernel-side submit queues to be analogous to 'contexts' or
'rendering queues' on the application side. Each file descriptor
instance will maintain its own list of queues. Queues cannot be
shared between file descriptors.

For backwards compatibility context id '0' is defined as a default
context specifying middle priority and no special flags. This is
intended to be the usual configuration for 99% of applications so
that a garden variety application can function correctly without
creating a queue. Only those applications requiring the specific
benefit of different queues need create one.

In addition to the basic infrastructure, allow the user to specify
the queue priority - this will be used in lieu of the legacy
flags to set priority during the submission. Only the master DRM
instance can set the highest priority, but all the others are open
to all processes.

Change-Id: Ic0dedbad02fa27c0ba20c1157a05ddb143e46357
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-06-12 15:11:52 -06:00
Jordan Crouse
7851820e84 drm/msm: Use per-ring submit lists
To make it easier to determine what submit(s) are currently active
on any given ring, store the active submits in per-ring lists instead
of a master list.

Change-Id: Ic0dedbadb331cd8e4e85dfcfa51cb1ceabe6efa9
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-06-12 15:11:51 -06:00
Rob Clark
5fb0642400 drm/msm: fix leak in failed submit path
Change-Id: Ic0dedbadf485dd63ef727402b653a9d996a13632
Signed-off-by: Rob Clark <robdclark@gmail.com>
Git-commit: 40e6815bba6e34e5560e8855b43cd3eb17b24b09
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[jcrouse@codeaurora.org: fix merge conflicts and initialize node at create]
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-06-12 15:11:51 -06:00
Jordan Crouse
8416e67721 drm/msm: Improved rd_full buffer dumping
Always print the iova and size for every buffer in a commit when
rd_full is enabled but only dump the contents for input buffers.
Also make imported buffers work with vmap so that they can be
safely dumped.

Change-Id: Ic0dedbad6ed5c426dc85a9c089b6c86c95c727cc
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-06-12 15:11:50 -06:00
Rob Clark
8691a54109 drm/msm/rd: add module param to dump all bo's
By default, if using $debugfs/.../rd to log cmdstream, only the
cmdstream buffers themselves are logged.  But in some cases we want
to capture other buffers in the submit (to see VBO's or shaders).
So add a mod-param knob to control this.

Change-Id: Ic0dedbadf993d9ab2c7a44f14e7720e7567a6da1
Signed-off-by: Rob Clark <robdclark@gmail.com>
Git-commit: 79c21187ca370f37302f0d5c16c387985d7b8ba1
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[jcrouse@codeaurora.org: fix minor merge conflicts]
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-06-12 15:11:50 -06:00
Rob Clark
fdde54c4d4 drm/msm/rd: split out snapshot_buf helper
(reduce the noise in next patch)

Change-Id: Ic0dedbadd4b1100ff7b203f120f4acd0c4bf8d09
Signed-off-by: Rob Clark <robdclark@gmail.com>
Git-commit: 6507e799f432d9fa86ba398b095ef1139a70deac
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[jcrouse@codeaurora.org: fixed minor merge conflicts]
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-06-12 15:11:50 -06:00
Jordan Crouse
7949249042 drm/msm: Fix possible overflow issue in submit_cmd
When verifying that the submit_cmd offset and size do not exceed the
bounds of the GEM object make sure to cast the math operation
into a suitably large buffer to account for overflow.

Change-Id: Ic0dedbad97513ee538d539e771038b3cf0405e91
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-06-12 15:08:08 -06:00
Kasin Li
5cb62a17f3 drm/msm: Fix kernel address issue of profile buffer
Current DRM adds offset when making IOVA but failed to add it when
making kernel address. This makes DRM write queue_s and submit_s to
wrong place if the profile buffer is not at the head of
a chunk of buffer.

Change-Id: I5af9c3050f4c6c5e0a54ed495bf79053f08f0bab
Signed-off-by: Kasin Li <donglil@codeaurora.org>
2017-06-09 19:19:33 -07:00
Linux Build Service Account
d3be51f52b Merge "ARM: dts: msm: add secure smmu cb node for msm8998" 2017-06-09 18:47:14 -07:00
Abhijit Kulkarni
f7aeaf28f9 ARM: dts: msm: add secure smmu cb node for msm8998
This change adds the secure context bank child node in mdss
driver, this is required for having both the secure and non-secure
smmu context bank support in the driver. This change also renames
the child nodes to avoid compilation issues on the builds where
fb driver mdss device file is also present. As a part of this
change the smmu driver registration is called as a part of
msm driver probe.

CRs-Fixed: 2053654
Change-Id: I90cd31fd792b0fd9772689dc6561bb0b429e1e3a
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2017-06-09 03:12:28 -07:00
Linux Build Service Account
c42ce05512 Merge "drm/sde: add 4k hdmi support" 2017-06-09 02:45:15 -07:00
Hareesh Gundu
cd94470626 msm: kgsl: Log clk set, enable and prepare failure
Handle the clk API return value so that it’s easy
to catch un clocked GPU register access.

Change-Id: I5a1a9a6cbd673394f126bb17b849393268a22b1b
Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
2017-06-09 13:34:56 +05:30
Linux Build Service Account
55a25be010 Merge "drm/msm/sde: add secure use case properties" 2017-06-08 19:03:20 -07:00
Linux Build Service Account
16fcfea171 Merge "Revert "msm: smmu: add re-route calling for specified iova."" 2017-06-08 19:03:19 -07:00
Linux Build Service Account
bc22546551 Merge "Merge branch 'android-4.4@9bc4622' into branch 'msm-4.4'" 2017-06-08 19:03:18 -07:00
Abhinav Kumar
e998aabf44 drm/msm: align HDMI register address space mapping with SDE
HDMI driver currently maps register addresses using ioremap()
but doesn't use the SDE driver utilities for register read/write.
Copy the mapped register spaces to SDE utility headers so that
other SDE APIs can be used seamlessly for HDMI.

Change-Id: I3cbe57778ff3a63ffd9176f1a2c60778238e3fe2
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-06-08 11:40:49 -07:00
Linux Build Service Account
2bf7a89b5a Merge "drm/msm: Fix drm_mm bottom_up search" 2017-06-08 05:13:44 -07:00
Linux Build Service Account
2ae6690a56 Merge "drm/msm: Use mmu notifiers to track SVM range invalidations" 2017-06-08 05:13:43 -07:00
Linux Build Service Account
6c90c8860c Merge "drm/msm : fix hdmi controller register programming" 2017-06-07 20:58:00 -07:00
Guchun Chen
a14f22c34c Revert "msm: smmu: add re-route calling for specified iova."
This reverts commit ae94b477af.

This change brings side effect of smmu fault in apq8098 project. It blocks their regression test.

Change-Id: Ia479188eca74ec988026f7d42207435da2f79bfc
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
2017-06-07 20:00:30 -07:00
Blagovest Kolenichev
2025064255 Merge branch 'android-4.4@9bc4622' into branch 'msm-4.4'
* refs/heads/tmp-9bc4622:
  Linux 4.4.70
  drivers: char: mem: Check for address space wraparound with mmap()
  nfsd: encoders mustn't use unitialized values in error cases
  drm/edid: Add 10 bpc quirk for LGD 764 panel in HP zBook 17 G2
  PCI: Freeze PME scan before suspending devices
  PCI: Fix pci_mmap_fits() for HAVE_PCI_RESOURCE_TO_USER platforms
  tracing/kprobes: Enforce kprobes teardown after testing
  osf_wait4(): fix infoleak
  genirq: Fix chained interrupt data ordering
  uwb: fix device quirk on big-endian hosts
  metag/uaccess: Check access_ok in strncpy_from_user
  metag/uaccess: Fix access_ok()
  iommu/vt-d: Flush the IOTLB to get rid of the initial kdump mappings
  staging: rtl8192e: rtl92e_get_eeprom_size Fix read size of EPROM_CMD.
  staging: rtl8192e: fix 2 byte alignment of register BSSIDR.
  mm/huge_memory.c: respect FOLL_FORCE/FOLL_COW for thp
  xc2028: Fix use-after-free bug properly
  arm64: documentation: document tagged pointer stack constraints
  arm64: uaccess: ensure extension of access_ok() addr
  arm64: xchg: hazard against entire exchange variable
  ARM: dts: at91: sama5d3_xplained: not all ADC channels are available
  ARM: dts: at91: sama5d3_xplained: fix ADC vref
  powerpc/64e: Fix hang when debugging programs with relocated kernel
  powerpc/pseries: Fix of_node_put() underflow during DLPAR remove
  powerpc/book3s/mce: Move add_taint() later in virtual mode
  cx231xx-cards: fix NULL-deref at probe
  cx231xx-audio: fix NULL-deref at probe
  cx231xx-audio: fix init error path
  dvb-frontends/cxd2841er: define symbol_rate_min/max in T/C fe-ops
  zr364xx: enforce minimum size when reading header
  dib0700: fix NULL-deref at probe
  s5p-mfc: Fix unbalanced call to clock management
  gspca: konica: add missing endpoint sanity check
  ceph: fix recursion between ceph_set_acl() and __ceph_setattr()
  iio: proximity: as3935: fix as3935_write
  ipx: call ipxitf_put() in ioctl error path
  USB: hub: fix non-SS hub-descriptor handling
  USB: hub: fix SS hub-descriptor handling
  USB: serial: io_ti: fix div-by-zero in set_termios
  USB: serial: mct_u232: fix big-endian baud-rate handling
  USB: serial: qcserial: add more Lenovo EM74xx device IDs
  usb: serial: option: add Telit ME910 support
  USB: iowarrior: fix info ioctl on big-endian hosts
  usb: musb: tusb6010_omap: Do not reset the other direction's packet size
  ttusb2: limit messages to buffer size
  mceusb: fix NULL-deref at probe
  usbvision: fix NULL-deref at probe
  net: irda: irda-usb: fix firmware name on big-endian hosts
  usb: host: xhci-mem: allocate zeroed Scratchpad Buffer
  xhci: apply PME_STUCK_QUIRK and MISSING_CAS quirk for Denverton
  usb: host: xhci-plat: propagate return value of platform_get_irq()
  sched/fair: Initialize throttle_count for new task-groups lazily
  sched/fair: Do not announce throttled next buddy in dequeue_task_fair()
  fscrypt: avoid collisions when presenting long encrypted filenames
  f2fs: check entire encrypted bigname when finding a dentry
  fscrypt: fix context consistency check when key(s) unavailable
  net: qmi_wwan: Add SIMCom 7230E
  ext4 crypto: fix some error handling
  ext4 crypto: don't let data integrity writebacks fail with ENOMEM
  USB: serial: ftdi_sio: add Olimex ARM-USB-TINY(H) PIDs
  USB: serial: ftdi_sio: fix setting latency for unprivileged users
  pid_ns: Fix race between setns'ed fork() and zap_pid_ns_processes()
  pid_ns: Sleep in TASK_INTERRUPTIBLE in zap_pid_ns_processes
  iio: dac: ad7303: fix channel description
  of: fix sparse warning in of_pci_range_parser_one
  proc: Fix unbalanced hard link numbers
  cdc-acm: fix possible invalid access when processing notification
  drm/nouveau/tmr: handle races with hw when updating the next alarm time
  drm/nouveau/tmr: avoid processing completed alarms when adding a new one
  drm/nouveau/tmr: fix corruption of the pending list when rescheduling an alarm
  drm/nouveau/tmr: ack interrupt before processing alarms
  drm/nouveau/therm: remove ineffective workarounds for alarm bugs
  drm/amdgpu: Make display watermark calculations more accurate
  drm/amdgpu: Avoid overflows/divide-by-zero in latency_watermark calculations.
  ath9k_htc: fix NULL-deref at probe
  ath9k_htc: Add support of AirTies 1eda:2315 AR9271 device
  s390/cputime: fix incorrect system time
  s390/kdump: Add final note
  regulator: tps65023: Fix inverted core enable logic.
  KVM: X86: Fix read out-of-bounds vulnerability in kvm pio emulation
  KVM: x86: Fix load damaged SSEx MXCSR register
  ima: accept previously set IMA_NEW_FILE
  mwifiex: pcie: fix cmd_buf use-after-free in remove/reset
  rtlwifi: rtl8821ae: setup 8812ae RFE according to device type
  md: update slab_cache before releasing new stripes when stripes resizing
  dm space map disk: fix some book keeping in the disk space map
  dm thin metadata: call precommit before saving the roots
  dm bufio: make the parameter "retain_bytes" unsigned long
  dm cache metadata: fail operations if fail_io mode has been established
  dm bufio: check new buffer allocation watermark every 30 seconds
  dm bufio: avoid a possible ABBA deadlock
  dm raid: select the Kconfig option CONFIG_MD_RAID0
  dm btree: fix for dm_btree_find_lowest_key()
  infiniband: call ipv6 route lookup via the stub interface
  tpm_crb: check for bad response size
  ARM: tegra: paz00: Mark panel regulator as enabled on boot
  USB: core: replace %p with %pK
  char: lp: fix possible integer overflow in lp_setup()
  watchdog: pcwd_usb: fix NULL-deref at probe
  USB: ene_usb6250: fix DMA to the stack
  usb: misc: legousbtower: Fix memory leak
  usb: misc: legousbtower: Fix buffers on stack
  ANDROID: uid_sys_stats: defer io stats calulation for dead tasks
  ANDROID: AVB: Fix linter errors.
  ANDROID: AVB: Fix invalidate_vbmeta_submit().
  ANDROID: sdcardfs: Check for NULL in revalidate
  Linux 4.4.69
  ipmi: Fix kernel panic at ipmi_ssif_thread()
  wlcore: Add RX_BA_WIN_SIZE_CHANGE_EVENT event
  wlcore: Pass win_size taken from ieee80211_sta to FW
  mac80211: RX BA support for sta max_rx_aggregation_subframes
  mac80211: pass block ack session timeout to to driver
  mac80211: pass RX aggregation window size to driver
  Bluetooth: hci_intel: add missing tty-device sanity check
  Bluetooth: hci_bcm: add missing tty-device sanity check
  Bluetooth: Fix user channel for 32bit userspace on 64bit kernel
  tty: pty: Fix ldisc flush after userspace become aware of the data already
  serial: omap: suspend device on probe errors
  serial: omap: fix runtime-pm handling on unbind
  serial: samsung: Use right device for DMA-mapping calls
  arm64: KVM: Fix decoding of Rt/Rt2 when trapping AArch32 CP accesses
  padata: free correct variable
  CIFS: add misssing SFM mapping for doublequote
  cifs: fix CIFS_IOC_GET_MNT_INFO oops
  CIFS: fix mapping of SFM_SPACE and SFM_PERIOD
  SMB3: Work around mount failure when using SMB3 dialect to Macs
  Set unicode flag on cifs echo request to avoid Mac error
  fs/block_dev: always invalidate cleancache in invalidate_bdev()
  ceph: fix memory leak in __ceph_setxattr()
  fs/xattr.c: zero out memory copied to userspace in getxattr
  ext4: evict inline data when writing to memory map
  IB/mlx4: Reduce SRIOV multicast cleanup warning message to debug level
  IB/mlx4: Fix ib device initialization error flow
  IB/IPoIB: ibX: failed to create mcg debug file
  IB/core: Fix sysfs registration error flow
  vfio/type1: Remove locked page accounting workqueue
  dm era: save spacemap metadata root after the pre-commit
  crypto: algif_aead - Require setkey before accept(2)
  block: fix blk_integrity_register to use template's interval_exp if not 0
  KVM: arm/arm64: fix races in kvm_psci_vcpu_on
  KVM: x86: fix user triggerable warning in kvm_apic_accept_events()
  um: Fix PTRACE_POKEUSER on x86_64
  x86, pmem: Fix cache flushing for iovec write < 8 bytes
  selftests/x86/ldt_gdt_32: Work around a glibc sigaction() bug
  x86/boot: Fix BSS corruption/overwrite bug in early x86 kernel startup
  usb: hub: Do not attempt to autosuspend disconnected devices
  usb: hub: Fix error loop seen after hub communication errors
  usb: Make sure usb/phy/of gets built-in
  usb: misc: add missing continue in switch
  staging: comedi: jr3_pci: cope with jiffies wraparound
  staging: comedi: jr3_pci: fix possible null pointer dereference
  staging: gdm724x: gdm_mux: fix use-after-free on module unload
  staging: vt6656: use off stack for out buffer USB transfers.
  staging: vt6656: use off stack for in buffer USB transfers.
  USB: Proper handling of Race Condition when two USB class drivers try to call init_usb_class simultaneously
  USB: serial: ftdi_sio: add device ID for Microsemi/Arrow SF2PLUS Dev Kit
  usb: host: xhci: print correct command ring address
  iscsi-target: Set session_fall_back_to_erl0 when forcing reinstatement
  target: Convert ACL change queue_depth se_session reference usage
  target/fileio: Fix zero-length READ and WRITE handling
  target: Fix compare_and_write_callback handling for non GOOD status
  xen: adjust early dom0 p2m handling to xen hypervisor behavior
  ANDROID: AVB: Only invalidate vbmeta when told to do so.
  ANDROID: sdcardfs: Move top to its own struct
  ANDROID: lowmemorykiller: account for unevictable pages
  ANDROID: usb: gadget: fix NULL pointer issue in mtp_read()
  ANDROID: usb: f_mtp: return error code if transfer error in receive_file_work function

Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>

Conflicts:
	drivers/usb/gadget/function/f_mtp.c
	fs/ext4/page-io.c
	net/mac80211/agg-rx.c

Change-Id: Id65e75bf3bcee4114eb5d00730a9ef2444ad58eb
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2017-06-07 09:31:32 -07:00
Rajesh Kemisetti
5fb1b581d6 Revert "msm: kgsl: Update QoS settings for A508 VBIF as recommended"
This reverts commit ef93af2324.

To fix unexpected GPU hangs and TLB synctimeouts.

Change-Id: I66da6e92db4affe55557f4f84ee127f6babb08b7
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
2017-06-07 17:22:42 +05:30
Patrik Jakobsson
4e4b72c0ee drm/gma500/psb: Actually use VBT mode when it is found
commit 82bc9a42cf854fdf63155759c0aa790bd1f361b0 upstream.

With LVDS we were incorrectly picking the pre-programmed mode instead of
the prefered mode provided by VBT. Make sure we pick the VBT mode if
one is provided. It is likely that the mode read-out code is still wrong
but this patch fixes the immediate problem on most machines.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78562
Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170418114332.12183-1-patrik.r.jakobsson@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-07 12:06:01 +02:00
Lyude
69877793e2 drm/radeon: Unbreak HPD handling for r600+
commit 3d18e33735a02b1a90aecf14410bf3edbfd4d3dc upstream.

We end up reading the interrupt register for HPD5, and then writing it
to HPD6 which on systems without anything using HPD5 results in
permanently disabling hotplug on one of the display outputs after the
first time we acknowledge a hotplug interrupt from the GPU.

This code is really bad. But for now, let's just fix this. I will
hopefully have a large patch series to refactor all of this soon.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Lyude <lyude@redhat.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-07 12:06:00 +02:00
Alex Deucher
15de2e4c90 drm/radeon/ci: disable mclk switching for high refresh rates (v2)
commit 58d7e3e427db1bd68f33025519a9468140280a75 upstream.

Even if the vblank period would allow it, it still seems to
be problematic on some cards.

v2: fix logic inversion (Nils)

bug: https://bugs.freedesktop.org/show_bug.cgi?id=96868

Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-06-07 12:06:00 +02:00
Abhinav Kumar
d9bdeba0e1 drm/msm : fix hdmi controller register programming
Currently, there is an incorrect programming of the
hdmi controller register where default value of the
datapath mode bit is being toggled along with the
scrambler enable/disable.

This bit should be untouched as per the hardware
programming sequence and kept at the default state.

Fix the register programming to avoid toggling this
bit.

Change-Id: I2e8f74c0abaddd27b5d8a2136afc4e1b82f96e7d
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
2017-06-07 02:45:08 -07:00
Linux Build Service Account
61a82b2a3f Merge "msm: cec: Use CEC notifier framework in adapter driver" 2017-06-06 21:33:09 -07:00
Abhijit Kulkarni
ea0f90a866 drm/msm/sde: add secure use case properties
This change adds custom PLANE(fb_translation_mode) and
CRTC(security_level) properties for supporting secure use case.
Plane property identifies the translation requirement for the
planes. CRTC property speicifies what planes could be attached
to this CRTC.

CRs-Fixed: 2053654
Change-Id: Iea59027d4bee536c8554e3955723982a6fc361dd
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
2017-06-06 13:44:08 -07:00
Linux Build Service Account
6ce38a9691 Merge "drm/msm: Separate locking of buffer resources from struct_mutex" 2017-06-06 13:21:43 -07:00
Ray Zhang
dd943e28df drm/msm: add CEC notifier support for HDMI driver
Add CEC notifier support which allows HDMI driver to
inform CEC driver with the new physical address. With
this information the CEC adapter driver does not need
to manually set the physical address from userspace.

CRs-Fixed: 2041335
Change-Id: I5b5707ad40ee381b5cd67f1e89f0d2397a9a7bb2
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
2017-06-05 05:46:30 -07:00
Linux Build Service Account
be36af2b20 Merge "drm/msm: fix leak in failed get_pages" 2017-06-03 22:36:46 -07:00
Sushmita Susheelendra
d9b394c7c2 drm/msm: Fix drm_mm bottom_up search
The bottom up search of drm_mm hole nodes is
currently broken. It does not correctly look
for the first hole (smallest address) that fits
the allocation from the bottom up. Use an RB tree
to record hole nodes with their address as key,
so that the hole with the smallest address that
satisfies the request can be looked up.

Change-Id: Ie3020cb4e8b6db13a35d0fe5caaa8781cb6ced9f
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
2017-06-02 15:48:46 -06:00
Sushmita Susheelendra
1f1dbe35f7 drm/msm: Use mmu notifiers to track SVM range invalidations
SVM buffer objects share the same virtual address on
both the CPU and GPU. Register for notifications when
SVM address ranges are unmapped on the CPU. When such
a notification is received, unmap the corresponding
SVM objects from the SMMU, after waiting on the most
recent fence that uses them. The notifier struct is
reference counted starting with the creation of the
first SVM bo in the process and is released when the
last SVM bo is freed.

Change-Id: I01f590d21fd1d146f5324539e5041f03653f858a
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
2017-06-02 15:48:45 -06:00
Sushmita Susheelendra
0a367f63c1 drm/msm: Fix error path clean-up for buffer object creation
The reference count on a buffer object was being
decremented before it was initialized. Fix the
error path clean-up to put the reference only
after the kref has been initialized. Also, avoid
passing the object by reference when possible.

Change-Id: Ifbb1874deb5db9ae3fb2fbd40a58162998284e96
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
2017-06-02 15:48:44 -06:00
Sushmita Susheelendra
f677e9604d drm/msm: Implement shared virtual memory ioctl
Shared virtual memory allows the CPU and GPU to use
the same virtual address for a buffer. This change
implements an ioctl to allow creation of SVM buffer
objects.

Change-Id: I0d929a2e37a9eeef948dc2a37250c1eb9adf6fc7
Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
2017-06-02 15:48:43 -06:00
Linux Build Service Account
28bf2d8b6b Merge "msm: smmu: add re-route calling for specified iova." 2017-06-01 23:49:13 -07:00