Commit graph

591178 commits

Author SHA1 Message Date
Linux Build Service Account
73a0e7ea49 Merge "drm/msm: Add submit queue queries" 2017-06-20 03:20:26 -07:00
Siva Kumar Akkireddi
be32f1d527 msm: sps: Fix race condition in SPS debugfs APIs
SPS debugfs APIs can be called concurrently which can result
in dangling pointer access. This change synchronizes access
to the SPS debugfs buffer.

Change-Id: I409b3f0618f760cb67eba47b43c81d166cdae4aa
Signed-off-by: Siva Kumar Akkireddi <sivaa@codeaurora.org>
2017-06-19 23:19:19 -07:00
Amir Levy
a9517ddfbe msm: ipa3: fix compatibility with ipa_nat driver
Add several defines and structs to allow IPA nat driver compile.
Change IPA_HW_MAX to be a define instead of enum so user space
can check its existence with ifdef.

Change-Id: I33df449d18b678dca44475f04eb72318179dda11
Signed-off-by: Amir Levy <alevy@codeaurora.org>
2017-06-19 23:06:27 -07:00
Taniya Das
f530d78e83 clk: qcom: osm: Initialize ACD when the cluster is online
The OSM clock driver currently enables ACD for the silver and
gold clusters regardless of whether they've been brought up or
not. ACD requires the cluster PLLs to be running for initialization,
a requirement which would not be met if the cluster hasn't been
brought online.
Tie the ACD initialization sequence with enabling OSM for that
cluster.

Change-Id: I4a7e7176e30b26d096645dd9ce508b7af8ae6df2
Signed-off-by: Taniya Das <tdas@codeaurora.org>
2017-06-20 10:26:46 +05:30
Ray Zhang
49e5049a72 drm/msm: use 13-bit mask for h_total and v_total
HDMI TX controller can output 13-bit h_total and v_total
compare to 12-bit width of previous generation chipsets.
So use 13-bit mask for these HSYNC and VSYNC settings.

CRs-Fixed: 2052655
Change-Id: I2421a4e0a7646d10ba9e8f427807daa6a1bc1a21
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
2017-06-20 08:57:51 +08:00
Blagovest Kolenichev
c5f247dd6d Merge branch 'android-4.4@6fc0573' into branch 'msm-4.4'
* refs/heads/tmp-6fc0573:
  Linux 4.4.71
  xfs: only return -errno or success from attr ->put_listent
  xfs: in _attrlist_by_handle, copy the cursor back to userspace
  xfs: fix unaligned access in xfs_btree_visit_blocks
  xfs: bad assertion for delalloc an extent that start at i_size
  xfs: fix indlen accounting error on partial delalloc conversion
  xfs: wait on new inodes during quotaoff dquot release
  xfs: update ag iterator to support wait on new inodes
  xfs: support ability to wait on new inodes
  xfs: fix up quotacheck buffer list error handling
  xfs: prevent multi-fsb dir readahead from reading random blocks
  xfs: handle array index overrun in xfs_dir2_leaf_readbuf()
  xfs: fix over-copying of getbmap parameters from userspace
  xfs: fix off-by-one on max nr_pages in xfs_find_get_desired_pgoff()
  xfs: Fix missed holes in SEEK_HOLE implementation
  mlock: fix mlock count can not decrease in race condition
  mm/migrate: fix refcount handling when !hugepage_migration_supported()
  drm/gma500/psb: Actually use VBT mode when it is found
  slub/memcg: cure the brainless abuse of sysfs attributes
  ALSA: hda - apply STAC_9200_DELL_M22 quirk for Dell Latitude D430
  pcmcia: remove left-over %Z format
  drm/radeon: Unbreak HPD handling for r600+
  drm/radeon/ci: disable mclk switching for high refresh rates (v2)
  scsi: mpt3sas: Force request partial completion alignment
  HID: wacom: Have wacom_tpc_irq guard against possible NULL dereference
  mmc: sdhci-iproc: suppress spurious interrupt with Multiblock read
  i2c: i2c-tiny-usb: fix buffer not being DMA capable
  vlan: Fix tcp checksum offloads in Q-in-Q vlans
  net: phy: marvell: Limit errata to 88m1101
  netem: fix skb_orphan_partial()
  ipv4: add reference counting to metrics
  sctp: fix ICMP processing if skb is non-linear
  tcp: avoid fastopen API to be used on AF_UNSPEC
  virtio-net: enable TSO/checksum offloads for Q-in-Q vlans
  be2net: Fix offload features for Q-in-Q packets
  ipv6: fix out of bound writes in __ip6_append_data()
  bridge: start hello_timer when enabling KERNEL_STP in br_stp_start
  qmi_wwan: add another Lenovo EM74xx device ID
  bridge: netlink: check vlan_default_pvid range
  ipv6: Check ip6_find_1stfragopt() return value properly.
  ipv6: Prevent overrun when parsing v6 header options
  net: Improve handling of failures on link and route dumps
  tcp: eliminate negative reordering in tcp_clean_rtx_queue
  sctp: do not inherit ipv6_{mc|ac|fl}_list from parent
  sctp: fix src address selection if using secondary addresses for ipv6
  tcp: avoid fragmenting peculiar skbs in SACK
  s390/qeth: avoid null pointer dereference on OSN
  s390/qeth: unbreak OSM and OSN support
  s390/qeth: handle sysfs error during initialization
  ipv6/dccp: do not inherit ipv6_mc_list from parent
  dccp/tcp: do not inherit mc_list from parent
  sparc: Fix -Wstringop-overflow warning
  android: base-cfg: disable CONFIG_NFS_FS and CONFIG_NFSD
  schedstats/eas: guard properly to avoid breaking non-smp schedstats users
  BACKPORT: f2fs: sanity check size of nat and sit cache
  FROMLIST: f2fs: sanity check checkpoint segno and blkoff
  sched/tune: don't use schedtune before it is ready
  sched/fair: use SCHED_CAPACITY_SCALE for energy normalization
  sched/{fair,tune}: use reciprocal_value to compute boost margin
  sched/tune: Initialize raw_spin_lock in boosted_groups
  sched/tune: report when SchedTune has not been initialized
  sched/tune: fix sched_energy_diff tracepoint
  sched/tune: increase group count to 5
  cpufreq/schedutil: use boosted_cpu_util for PELT to match WALT
  sched/fair: Fix sched_group_energy() to support per-cpu capacity states
  sched/fair: discount task contribution to find CPU with lowest utilization
  sched/fair: ensure utilization signals are synchronized before use
  sched/fair: remove task util from own cpu when placing waking task
  trace:sched: Make util_avg in load_avg trace reflect PELT/WALT as used
  sched/fair: Add eas (& cas) specific rq, sd and task stats
  sched/core: Fix PELT jump to max OPP upon util increase
  sched: EAS & 'single cpu per cluster'/cpu hotplug interoperability
  UPSTREAM: sched/core: Fix group_entity's share update
  UPSTREAM: sched/fair: Fix calc_cfs_shares() fixed point arithmetics width confusion
  UPSTREAM: sched/fair: Fix incorrect task group ->load_avg
  UPSTREAM: sched/fair: Fix effective_load() to consistently use smoothed load
  UPSTREAM: sched/fair: Propagate asynchrous detach
  UPSTREAM: sched/fair: Propagate load during synchronous attach/detach
  UPSTREAM: sched/fair: Fix hierarchical order in rq->leaf_cfs_rq_list
  BACKPORT: sched/fair: Factorize PELT update
  UPSTREAM: sched/fair: Factorize attach/detach entity
  UPSTREAM: sched/fair: Improve PELT stuff some more
  UPSTREAM: sched/fair: Apply more PELT fixes
  UPSTREAM: sched/fair: Fix post_init_entity_util_avg() serialization
  BACKPORT: sched/fair: Initiate a new task's util avg to a bounded value
  sched/fair: Simplify idle_idx handling in select_idle_sibling()
  sched/fair: refactor find_best_target() for simplicity
  sched/fair: Change cpu iteration order in find_best_target()
  sched/core: Add first cpu w/ max/min orig capacity to root domain
  sched/core: Remove remnants of commit fd5c98da1a42
  sched: Remove sysctl_sched_is_big_little
  sched/fair: Code !is_big_little path into select_energy_cpu_brute()
  EAS: sched/fair: Re-integrate 'honor sync wakeups' into wakeup path
  Fixup!: sched/fair.c: Set SchedTune specific struct energy_env.task
  sched/fair: Energy-aware wake-up task placement
  sched/fair: Add energy_diff dead-zone margin
  sched/fair: Decommission energy_aware_wake_cpu()
  sched/fair: Do not force want_affine eq. true if EAS is enabled
  arm64: Set SD_ASYM_CPUCAPACITY sched_domain flag on DIE level
  UPSTREAM: sched/fair: Fix incorrect comment for capacity_margin
  UPSTREAM: sched/fair: Avoid pulling tasks from non-overloaded higher capacity groups
  UPSTREAM: sched/fair: Add per-CPU min capacity to sched_group_capacity
  UPSTREAM: sched/fair: Consider spare capacity in find_idlest_group()
  UPSTREAM: sched/fair: Compute task/cpu utilization at wake-up correctly
  UPSTREAM: sched/fair: Let asymmetric CPU configurations balance at wake-up
  UPSTREAM: sched/core: Enable SD_BALANCE_WAKE for asymmetric capacity systems
  UPSTREAM: sched/core: Pass child domain into sd_init()
  UPSTREAM: sched/core: Introduce SD_ASYM_CPUCAPACITY sched_domain topology flag
  UPSTREAM: sched/core: Remove unnecessary NULL-pointer check
  UPSTREAM: sched/fair: Optimize find_idlest_cpu() when there is no choice
  BACKPORT: sched/fair: Make the use of prev_cpu consistent in the wakeup path
  UPSTREAM: sched/core: Fix power to capacity renaming in comment
  Partial Revert: "WIP: sched: Add cpu capacity awareness to wakeup balancing"
  Revert "WIP: sched: Consider spare cpu capacity at task wake-up"
  FROM-LIST: cpufreq: schedutil: Redefine the rate_limit_us tunable
  cpufreq: schedutil: add up/down frequency transition rate limits
  trace/sched: add rq utilization signal for WALT
  sched/cpufreq: make schedutil use WALT signal
  sched: cpufreq: use rt_avg as estimate of required RT CPU capacity
  cpufreq: schedutil: move slow path from workqueue to SCHED_FIFO task
  BACKPORT: kthread: allow to cancel kthread work
  sched/cpufreq: fix tunables for schedfreq governor
  BACKPORT: cpufreq: schedutil: New governor based on scheduler utilization data
  sched: backport cpufreq hooks from 4.9-rc4
  ANDROID: Kconfig: add depends for UID_SYS_STATS
  ANDROID: hid: uhid: implement refcount for open and close
  Revert "ext4: require encryption feature for EXT4_IOC_SET_ENCRYPTION_POLICY"
  ANDROID: mnt: Fix next_descendent

Conflicts:
	include/trace/events/sched.h
	kernel/sched/Makefile
	kernel/sched/core.c
	kernel/sched/fair.c
	kernel/sched/sched.h

Change-Id: I55318828f2c858e192ac7015bcf2bf0ec5c5b2c5
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
2017-06-19 16:59:55 -07:00
Linux Build Service Account
0045ec6f11 Merge "drm/msm : add hdcp debugfs nodes for DRM HDMI driver" 2017-06-19 16:42:05 -07:00
Linux Build Service Account
25e509561f Merge "f_gsi: Use kernel buffer instead of user space provided buffer" 2017-06-19 16:42:05 -07:00
Linux Build Service Account
3e0ab6ba33 Merge "soc: qcom: glink: Move ctx initialization of xprt ptr" 2017-06-19 16:42:04 -07:00
Linux Build Service Account
2dc794c527 Merge "soc: qcom: glink_ssr: Remove subsystem_restart call" 2017-06-19 16:42:03 -07:00
Linux Build Service Account
61155a521f Merge "i2c-msm-v2: Print error logs in process context" 2017-06-19 16:42:01 -07:00
Linux Build Service Account
69c6a42d14 Merge "ARM: dts: msm: Enable use of 64K page pool for SDM630" 2017-06-19 16:42:00 -07:00
Linux Build Service Account
a34722136d Merge "qpnp-smb2: Fix QC_PULSE_COUNT reading logic" 2017-06-19 16:41:59 -07:00
Linux Build Service Account
ed435179ec Merge "ARM: dts: msm: Enable use of 64K page pool for SDM660" 2017-06-19 16:41:58 -07:00
Linux Build Service Account
f0d37d522b Merge "Revert "msm: kgsl: Update QoS settings for A508 VBIF as recommended"" 2017-06-19 16:41:57 -07:00
Linux Build Service Account
7223e29df4 Merge "msm: kgsl: Reset busy data after soft reset" 2017-06-19 16:41:56 -07:00
Linux Build Service Account
7d8e4243d2 Merge "clk: qcom: Check for errors during RCG read" 2017-06-19 16:41:55 -07:00
Linux Build Service Account
9e6f650f19 Merge "defconfig: Enable TIF drivers in MSM8996 auto" 2017-06-19 16:41:53 -07:00
Linux Build Service Account
b0dd74be59 Merge "msm: ba: Fix some potential risks" 2017-06-19 16:41:53 -07:00
Chris Lew
a56ba7b5ce diag: Update msg mask tables for new SSID
Update the diag headers and msg mask tables to account
for a new ssid group.

CRs-Fixed: 2055789
Change-Id: I3abd816d5e99bff263b753fb1070a2672ecea46c
Signed-off-by: Chris Lew <clew@codeaurora.org>
2017-06-19 16:19:18 -07:00
Jordan Crouse
180cb9a578 drm/msm: Move memptrs to msm_gpu and reorganize
Since most of the heavy lifting for managing submits lives in the
msm_gpu domain it makes sense to move the memptrs so that they are
globally visible and we can use them without relying on function
pointers.

Additionally, instead of having a single struct full of per-ring
arrays, reorganize the structure and assign a sub-allocation
to each ring. This simplifies all of the various macros and other
bits and allows us to make the size of the allocation dependent
on the acutal number of rings for the implementation.

Change-Id: Ic0dedbadc18ba1dc786c82b082c5030e13ff8012
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-06-19 15:50:34 -06:00
Jordan Crouse
ae2cb03114 drm/msm: Attach the MMUs as soon as they are allocated
Currently the normal and secure MMUs are allocated when the
address space is created in msm_gpu_init() but not attached
until the end of adreno_gpu_init(). Since we can't map buffer
objects in the IOMMU without attaching it first this restricts
when we can allocate buffer objects in the sequence.

For arm-smmu based targets there isn't any reason why we can't
immediately attach the MMU after creating the address space -
this makes the whole system immediately available to map memory
and will facilitate moving around global allocations.

Change-Id: Ic0dedbad161396e9d095f3f3d1e4fca2d240a084
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-06-19 15:50:33 -06:00
Jordan Crouse
1db3fbd43a drm/msm: Add a helper function for in-kernel buffer allocations
Nearly all of the buffer allocations for kernel allocate an buffer object,
virtual address and GPU iova at the same time. Make a helper function to
handle the details.

Change-Id: Ic0dedbad0ecd85d360895cc0d1e418277ba44c62
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-06-19 15:50:33 -06:00
Jordan Crouse
53530e1644 drm/msm: Simplify ringbuffer cleanup
Cleanup and consolidate sanity checking on the ringbuffer
cleanup code.

Change-Id: Ic0dedbad551d36ca8ed3db56a4366a5008768791
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-06-19 15:50:32 -06:00
Jordan Crouse
d8505d8307 drm/msm: Remove superfluous hang check message
There are plenty of log messages when a hang check and/or fault
occurs there isn't any need to add one more - recovery is
pretty much a given at this point.

Change-Id: Ic0dedbad392807591b726eb9d09af3ad29d7bc30
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-06-19 15:50:31 -06:00
Jordan Crouse
b25ea02d22 drm/msm: Add a submit queue flag to disable the QoS timer
Allow priviliged (CAP_SYS_ADMIN) processes to disable the
hangcheck / quality of service timer to allow individual
submits to run for as long as they need.

Change-Id: Ic0dedbad1399ebe7c6db74ba374bfa3a6f72917a
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-06-19 15:50:30 -06:00
Jordan Crouse
b674857b83 drm/msm: Add submit queue queries
Add the capability to query information from a submit queue.
The first available parameter is to query the number of GPU
faults that have been caused by the queue. The driver can
periodically query this value to see if it has caused a fault
and take action accordingly.

Change-Id: Ic0dedbadc68d5782c0b8b71d89722742aa6aaf1a
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2017-06-19 15:50:26 -06:00
Akshay Chandrashekhar Kalghatgi
395ead59b6 msm: vidc: Addition of VIDIOC_QUERY_EXT_CTRL ioctl
Adding vidc support for VIDIOC_QUERY_EXT_CTRL ioctl. This ioctl will
return the details for the V4L2 control identified by the ID provided
by the user or the next supported control based upon the flags
provided by the user.

Change-Id: I68161ceb000a46a8e54333ab39c0229f8fbdbf72
Signed-off-by: Akshay Chandrashekhar Kalghatgi <akalghat@codeaurora.org>
2017-06-19 11:36:42 -07:00
Mayank Rana
949fbd80e1 f_gsi: Use kernel buffer instead of user space provided buffer
gsi_ctrl_dev_write() and gsi_ctrl_dev_read() API is directly using user
space provided buffer when qti_packet_debug is enabled. This can result
into using untrusted buffer pointer. Hence use cpkt->buf i.e. kernel
space buffer pointer instead of directly using user space provided buffer.

CRs-Fixed: 2061391
Change-Id: Iba6f2845dae2755446b4b8e9f3041686877d7bc4
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2017-06-19 11:31:20 -07:00
Dhoat Harpal
bb73294fb7 soc: qcom: glink: Move ctx initialization of xprt ptr
In glink_open function, channel context initialization with transport
pointer is done quite after after its creation. This create race condition,
if parallel thread try to use transport pointer of ctx.

Ctx is initialized with transport pointer right at the time of its
creation.

CRs-Fixed: 2061645
Change-Id: Idcddf1ab10b8673a20bc1f23d8702bf870f79dbd
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
2017-06-19 21:49:09 +05:30
Linux Build Service Account
6ec544aeed Merge "qdspv2: Add latency calculation support in pcm offload path" 2017-06-19 07:54:18 -07:00
Linux Build Service Account
c9ada11e43 Merge "ASoC: wsa881x: Fix GPIO leak issue" 2017-06-19 07:54:17 -07:00
Linux Build Service Account
3b61e32368 Merge "ARM: dts: msm: Early mount of vendor partition for sdm660/630" 2017-06-19 07:54:16 -07:00
Linux Build Service Account
371e1c1b54 Merge "ARM: dts: msm: Add Maxim regulator node for msm8996" 2017-06-19 07:54:15 -07:00
Linux Build Service Account
608d5ae7bc Merge "ASoC: msm: Add Compressed app type in transcode loopback driver" 2017-06-19 07:54:14 -07:00
Linux Build Service Account
f79c355176 Merge "msm:ipa: Fix to IPA static analysis constant null deferenced" 2017-06-19 07:54:13 -07:00
Linux Build Service Account
d4041b86d5 Merge "defconfig: msm: Enable maxim regulator driver for msm8996-auto" 2017-06-19 00:27:06 -07:00
Linux Build Service Account
edac345d02 Merge "drm: msm: Enable asynchronous driver probing" 2017-06-19 00:27:04 -07:00
Linux Build Service Account
ea8783eb74 Merge "drm/msm : add utility function to dump HDMI registers" 2017-06-19 00:27:04 -07:00
Amit Nischal
1164f8f6ee clk: qcom: Check for errors during RCG read
There could be instances where the RCG configuration update or readback
could fail. Notify the caller of the failure. Add support to change
scope of mux_div_get_src_div() in order to use it globally.

Change-Id: Ica07c28cede695785db81697effcb40ab6b717d4
Signed-off-by: Amit Nischal <anischal@codeaurora.org>
2017-06-19 12:04:55 +05:30
Siddartha Shaik
04b7e499f8 ASoC: msm: Add Compressed app type in transcode loopback driver
Pick proper app type for compressed input data port in
transcode loopback driver to support compressed input in
DSP loopback.

CRs-Fixed: 2061759
Change-Id: Ib2f66b467456787e08265a0da2bd85bb881a5d61
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
2017-06-18 21:55:39 -07:00
Siddartha Shaik
41144e80b6 ASoC: msm: Update mixer control for QUAT MI2S TX Format
DSP loopback uses QUAT MI2S TX as source interface
so mixer control is updated for QUAT MI2S TX Format
to support compressed and pcm input data formats.

CRs-Fixed: 2061759
Change-Id: I8c283de767f938ae8f4e1180a9dffc79a1da7ff0
Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
2017-06-18 21:55:25 -07:00
Tirupathi Reddy
d60a836ac0 ARM: dts: msm: Add Maxim regulator node for msm8996
Maxim20010 buck regulator is used to provide the supply for
graphics rail. The programmable output voltage range is from
0.5V to 1.27V in 10mV steps.

CRs-Fixed: 2062515
Change-Id: I50d3fe4c89f412cda2b58b3f1f19086edcf10553
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
2017-06-19 08:52:45 +05:30
Tirupathi Reddy
8312036ea6 defconfig: msm: Enable maxim regulator driver for msm8996-auto
Enable Maxim20010 external buck regulator driver to provide the supply
for graphics rail on msm8996-auto boards.

CRs-Fixed: 2062515
Change-Id: I1e70f16c660de6d3d2a8c138a34157538c19f0f1
Signed-off-by: Tirupathi Reddy <tirupath@codeaurora.org>
2017-06-19 08:50:15 +05:30
Linux Build Service Account
bfbbb3e4b2 Merge "fbdev: msm: Reserve mixers with dspp for primary display" 2017-06-18 16:31:15 -07:00
Linux Build Service Account
81f0507367 Merge "ARM: dts: msm: optimize brightness dcs control for msm8998 SKUK HDK panel" 2017-06-18 16:31:14 -07:00
Linux Build Service Account
7fb6b88294 Merge "msm: mdss: Fix number accuracy for backlight to brightness" 2017-06-18 16:31:13 -07:00
Linux Build Service Account
486d85185c Merge "msm: mdss: dp: use fixed NVID for VGA dongles" 2017-06-18 16:31:12 -07:00
Linux Build Service Account
deeef2aac2 Merge "msm: mdss: Add cursor validation for hflip" 2017-06-18 16:31:11 -07:00
Linux Build Service Account
df17a0c312 Merge "fbdev: msm: fix issue preventing cursor_buf address to be stored" 2017-06-18 16:31:10 -07:00