summaryrefslogtreecommitdiff
path: root/drivers/gpu (follow)
Commit message (Collapse)AuthorAge
...
| * | | | | msm: sde: remove boot warning of drm AD propertiesDaocai.yang2017-07-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | drm_property_create prints WARN_ON while passing parameter DRM_MODE_PROP_IMMUTABLE, so replace it with drm_property_create_range Change-Id: I48e02125f751c29c94bf9f734bff84352359c001 Signed-off-by: Daocai.yang <c_daocai@qti.qualcomm.com>
* | | | | | Merge "msm: sde: fix page freeing error when handing off early display"Linux Build Service Account2017-08-21
|\ \ \ \ \ \
| * | | | | | msm: sde: fix page freeing error when handing off early displayGuchun Chen2017-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes, after user space is up and starts the handoff for early animation/display, page freeing error happens like below. The error happens in a very small possibility, but will lead to device rebooting. Call trace: dump_backtrace+0x0/0x1b8 show_stack+0x14/0x1c dump_stack+0xa8/0xe0 bad_page+0xf0/0x118 free_pages_prepare+0x100/0x2cc free_hot_cold_page+0x38/0x1a0 __free_pages+0x34/0x48 _sde_splash_free_bootup_memory_to_system+0x78/0x9c sde_splash_clean_up_free_resource+0xbc/0x1f0 sde_crtc_complete_commit+0x114/0x14c sde_kms_complete_commit+0x50/0x98 complete_commit+0x684/0x6b0 _msm_drm_commit_work_cb+0x30/0x38 kthread_worker_fn+0xcc/0x170 kthread+0xf8/0x100 ret_from_fork+0x10/0x20 The issue is caused by race competition. In async commit mode, the first is, mutex lock should be involved to ensure the member of splash_info structure can be protected to read/write in multiple threads. And the second is, 2 DSI connectors are available in kernel, and the coming sequent commits may happen on one DSI or on two DSI respectively. Because DSI interfaces shares the same resource in LK, if the consecutive commits are for one DSI, DSI resources could not be released, as another DSI is still visiting and using these resources. So till confirming the commits for different DSIs have been done, it's safe to release DSI resource. Change-Id: Ie6386e3e58d5320cd4e2caab9a07b4e659eb8780 Signed-off-by: Guchun Chen <guchunc@codeaurora.org> Signed-off-by: Yujun Zhang <yujunzhang@codeaurora.org>
* | | | | | | drm/msm: Map buffers on demand on the submit pathSushmita Susheelendra2017-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Map and pin buffers on demand on the submission path. This ensures that we only map buffers whose iova are actually needed for submission as opposed to all buffers in the buffer list. For instance, the command buffers, and the reloc buffers for processing relocs. Also remove unused member valid from the struct msm_gem_submit. Change-Id: I644f44f202552d14762ffe1d1761b98ed5961020 Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
* | | | | | | drm/msm: Map command buffers to kernel only if requiredSushmita Susheelendra2017-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Map command buffers to the kernel address space only if relocs are specified for the submission. This reduces some overhead on the submission path. Change-Id: I32ca3c7fe2147c835a328e0c8937b45f2f3d59b9 Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
* | | | | | | Merge "drm/msm: Free all allocated resources in case hardware init fails" ↵Linux Build Service Account2017-08-20
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | into msm-4.4
| * | | | | | | drm/msm: Free all allocated resources in case hardware init failsDeepak Kumar2017-08-14
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turn off the GPU power and free all resources allocated during GPU init in case hardware init fails in adreno_gpu_load. This is required to make sure further tries to load the GPU again doesn't fail because of invalid GPU state. Change-Id: I1d0d68f62be751d76274975e098364131712ca38 Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
* | | | | | | Merge "msm: kgsl: Add disable-wake-on-touch devicetree property" into msm-4.4Linux Build Service Account2017-08-20
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | |
| * | | | | | msm: kgsl: Add disable-wake-on-touch devicetree propertyHareesh Gundu2017-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a devicetree "disable-wake-on-touch" property support to disable GPU wake up on touch input events. This will help save power in case of unintended taps and swipes, for example, when the screen is wet. Change-Id: I35768dc78c473272472aaf9c0e09e66d75817b2c Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
* | | | | | | Merge "drm/msm: update HDMI AVI infoframe during HDR playback"Linux Build Service Account2017-08-11
|\ \ \ \ \ \ \
| * | | | | | | drm/msm: update HDMI AVI infoframe during HDR playbackAbhinav Kumar2017-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support to update the HDMI AVI infoframe to use BT2020 encoding during HDR video playback. This is required as per the spec to ensure that the AVI infoframe correctly indicates the content being shown. Also make sure to change and restore the YCC quantization bits in case of override. Change-Id: Iadacc2fac6252b5f5cbfcc39a122118f738d3113 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | | | Merge "drm/msm: update CSC matrix during HDR playback"Linux Build Service Account2017-08-11
|\| | | | | | |
| * | | | | | | drm/msm: update CSC matrix during HDR playbackAbhinav Kumar2017-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CSC matrix used in the CDM block should be updated to BT2020 format from the default value during HDR video playback. Add support in the SDE driver to enable switching CSC matrix of CDM block to BT2020 during start of HDR playback and restore it at the stop of the playback to the default CSC. Change-Id: Ic589380188ddef8ada2c8bbc0ca945bb1f319c85 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
| * | | | | | | drn/msm/sde: add BT709, BT2020 CSC matrix definitionsAbhinav Kumar2017-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently only BT601 CSC matrix is available for use in the SDE driver. Add BT709, BT2020 CSC matrix definitions to SDE driver. These shall be used during different use-cases such as HDR video playback by switching the CSC matrix based on the use-case. Change-Id: I70a543193d08217cbdb6c4af739b3777dde4a25d Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | | | Merge "drm/msm: change CSC matrix selection logic for CDM block"Linux Build Service Account2017-08-11
|\| | | | | | |
| * | | | | | | drm/msm: change CSC matrix selection logic for CDM blockAbhinav Kumar2017-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CDM block is always using a limited quantization range matrix. This can be overridden to use a full range matrix if the sink supports override capability or the mode is a non-CEA mode. Adjust the matrix selection logic to accommodate these conditions. Change-Id: I708412a923fb0d47e798f35ebe14b4c2f1a72fc9 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | | | Merge "drm/msm: only set need cdm for INTF3"Linux Build Service Account2017-08-10
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | |
| * | | | | | | drm/msm: only set need cdm for INTF3Yuan Zhao2017-08-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Only HDMI INTF3 should need cdm block, other INTFs do not need cdm. Change-Id: Iff355dae456ed432efd84dff72ec85b83dbb93f2 Signed-off-by: Yuan Zhao <yzhao@codeaurora.org>
* | | | | | | | msm: kgsl: Correctly update fence_name for larger timestampAbhilash Kumar2017-08-09
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 'timestamp' is of unsigned int type, for larger timestamp the format specifier %d can show negative values. Fix this by using %u format specifier for timestamp. Change-Id: I621dfd4843099cb27436006500fe3342d1d5ddf4 Signed-off-by: Abhilash Kumar <krabhi@codeaurora.org>
* | | | | | | Merge "drm/msm: free the IRQ during GPU cleanup"Linux Build Service Account2017-08-08
|\ \ \ \ \ \ \
| * | | | | | | drm/msm: free the IRQ during GPU cleanupDeepak Kumar2017-07-27
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Free the IRQ in msm_gpu_cleanup. This is required to avoid failures from devm_request_irq on subsequent retries to load the GPU in case the previous attempt failed somewhere after successful call to devm_request_irq. Change-Id: I90d98199a1d7867e3f7b51f8e2293fa28e4612fa Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
* | | | | | | Merge "Merge android-4.4@59ff2e1 (v4.4.78) into msm-4.4"Linux Build Service Account2017-08-08
|\ \ \ \ \ \ \
| * \ \ \ \ \ \ Merge android-4.4@59ff2e1 (v4.4.78) into msm-4.4Blagovest Kolenichev2017-08-04
| |\ \ \ \ \ \ \ | | | |_|_|/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refs/heads/tmp-59ff2e1 Linux 4.4.78 kvm: vmx: allow host to access guest MSR_IA32_BNDCFGS kvm: vmx: Check value written to IA32_BNDCFGS kvm: x86: Guest BNDCFGS requires guest MPX support kvm: vmx: Do not disable intercepts for BNDCFGS KVM: x86: disable MPX if host did not enable MPX XSAVE features tracing: Use SOFTIRQ_OFFSET for softirq dectection for more accurate results PM / QoS: return -EINVAL for bogus strings PM / wakeirq: Convert to SRCU sched/topology: Optimize build_group_mask() sched/topology: Fix overlapping sched_group_mask crypto: caam - fix signals handling crypto: sha1-ssse3 - Disable avx2 crypto: atmel - only treat EBUSY as transient if backlog crypto: talitos - Extend max key length for SHA384/512-HMAC and AEAD mm: fix overflow check in expand_upwards() tpm: Issue a TPM2_Shutdown for TPM2 devices. Add "shutdown" to "struct class". tpm: Provide strong locking for device removal tpm: Get rid of chip->pdev selftests/capabilities: Fix the test_execve test mnt: Make propagate_umount less slow for overlapping mount propagation trees mnt: In propgate_umount handle visiting mounts in any order mnt: In umount propagation reparent in a separate pass vt: fix unchecked __put_user() in tioclinux ioctls exec: Limit arg stack to at most 75% of _STK_LIM s390: reduce ELF_ET_DYN_BASE powerpc: move ELF_ET_DYN_BASE to 4GB / 4MB arm64: move ELF_ET_DYN_BASE to 4GB / 4MB arm: move ELF_ET_DYN_BASE to 4MB binfmt_elf: use ELF_ET_DYN_BASE only for PIE checkpatch: silence perl 5.26.0 unescaped left brace warnings fs/dcache.c: fix spin lockup issue on nlru->lock mm/list_lru.c: fix list_lru_count_node() to be race free kernel/extable.c: mark core_kernel_text notrace tools/lib/lockdep: Reduce MAX_LOCK_DEPTH to avoid overflowing lock_chain/: Depth parisc/mm: Ensure IRQs are off in switch_mm() parisc: DMA API: return error instead of BUG_ON for dma ops on non dma devs parisc: use compat_sys_keyctl() parisc: Report SIGSEGV instead of SIGBUS when running out of stack irqchip/gic-v3: Fix out-of-bound access in gic_set_affinity cfg80211: Check if PMKID attribute is of expected size cfg80211: Validate frequencies nested in NL80211_ATTR_SCAN_FREQUENCIES cfg80211: Define nla_policy for NL80211_ATTR_LOCAL_MESH_POWER_MODE brcmfmac: fix possible buffer overflow in brcmf_cfg80211_mgmt_tx() rds: tcp: use sock_create_lite() to create the accept socket vrf: fix bug_on triggered by rx when destroying a vrf net: ipv6: Compare lwstate in detecting duplicate nexthops ipv6: dad: don't remove dynamic addresses if link is down net: handle NAPI_GRO_FREE_STOLEN_HEAD case also in napi_frags_finish() bpf: prevent leaking pointer via xadd on unpriviledged net: prevent sign extension in dev_get_stats() tcp: reset sk_rx_dst in tcp_disconnect() net: dp83640: Avoid NULL pointer dereference. ipv6: avoid unregistering inet6_dev for loopback net/phy: micrel: configure intterupts after autoneg workaround net: sched: Fix one possible panic when no destroy callback net_sched: fix error recovery at qdisc creation ANDROID: android-verity: mark dev as rw for linear target ANDROID: sdcardfs: Remove unnecessary lock ANDROID: binder: don't check prio permissions on restore. Add BINDER_GET_NODE_DEBUG_INFO ioctl UPSTREAM: cpufreq: schedutil: Trace frequency only if it has changed UPSTREAM: cpufreq: schedutil: Avoid reducing frequency of busy CPUs prematurely UPSTREAM: cpufreq: schedutil: Refactor sugov_next_freq_shared() UPSTREAM: cpufreq: schedutil: Fix per-CPU structure initialization in sugov_start() UPSTREAM: cpufreq: schedutil: Pass sg_policy to get_next_freq() UPSTREAM: cpufreq: schedutil: move cached_raw_freq to struct sugov_policy UPSTREAM: cpufreq: schedutil: Rectify comment in sugov_irq_work() function UPSTREAM: cpufreq: schedutil: irq-work and mutex are only used in slow path UPSTREAM: cpufreq: schedutil: enable fast switch earlier UPSTREAM: cpufreq: schedutil: Avoid indented labels Linux 4.4.77 saa7134: fix warm Medion 7134 EEPROM read x86/mm/pat: Don't report PAT on CPUs that don't support it ext4: check return value of kstrtoull correctly in reserved_clusters_store staging: comedi: fix clean-up of comedi_class in comedi_init() staging: vt6556: vnt_start Fix missing call to vnt_key_init_table. tcp: fix tcp_mark_head_lost to check skb len before fragmenting md: fix super_offset endianness in super_1_rdev_size_change md: fix incorrect use of lexx_to_cpu in does_sb_need_changing perf tools: Use readdir() instead of deprecated readdir_r() again perf tests: Remove wrong semicolon in while loop in CQM test perf trace: Do not process PERF_RECORD_LOST twice perf dwarf: Guard !x86_64 definitions under #ifdef else clause perf pmu: Fix misleadingly indented assignment (whitespace) perf annotate browser: Fix behaviour of Shift-Tab with nothing focussed perf tools: Remove duplicate const qualifier perf script: Use readdir() instead of deprecated readdir_r() perf thread_map: Use readdir() instead of deprecated readdir_r() perf tools: Use readdir() instead of deprecated readdir_r() perf bench numa: Avoid possible truncation when using snprintf() perf tests: Avoid possible truncation with dirent->d_name + snprintf perf scripting perl: Fix compile error with some perl5 versions perf thread_map: Correctly size buffer used with dirent->dt_name perf intel-pt: Use __fallthrough perf top: Use __fallthrough tools strfilter: Use __fallthrough tools string: Use __fallthrough in perf_atoll() tools include: Add a __fallthrough statement mqueue: fix a use-after-free in sys_mq_notify() RDMA/uverbs: Check port number supplied by user verbs cmds KEYS: Fix an error code in request_master_key() ath10k: override CE5 config for QCA9377 x86/uaccess: Optimize copy_user_enhanced_fast_string() for short strings x86/tools: Fix gcc-7 warning in relocs.c gfs2: Fix glock rhashtable rcu bug USB: serial: qcserial: new Sierra Wireless EM7305 device ID USB: serial: option: add two Longcheer device ids pinctrl: sh-pfc: Update info pointer after SoC-specific init pinctrl: mxs: atomically switch mux and drive strength config pinctrl: sunxi: Fix SPDIF function name for A83T pinctrl: meson: meson8b: fix the NAND DQS pins pinctrl: sh-pfc: r8a7791: Fix SCIF2 pinmux data sysctl: report EINVAL if value is larger than UINT_MAX for proc_douintvec sysctl: don't print negative flag for proc_douintvec mac80211_hwsim: Replace bogus hrtimer clockid usb: Fix typo in the definition of Endpoint[out]Request usb: usbip: set buffer pointers to NULL after free Add USB quirk for HVR-950q to avoid intermittent device resets USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick usb: dwc3: replace %p with %pK drm/virtio: don't leak bo on drm_gem_object_init failure tracing/kprobes: Allow to create probe with a module name starting with a digit mm: fix classzone_idx underflow in shrink_zones() bgmac: reset & enable Ethernet core before using it driver core: platform: fix race condition with driver_override fs: completely ignore unknown open flags fs: add a VALID_OPEN_FLAGS ANDROID: binder: add RT inheritance flag to node. ANDROID: binder: improve priority inheritance. ANDROID: binder: add min sched_policy to node. ANDROID: binder: add support for RT prio inheritance. ANDROID: binder: push new transactions to waiting threads. ANDROID: binder: remove proc waitqueue FROMLIST: binder: remove global binder lock FROMLIST: binder: fix death race conditions FROMLIST: binder: protect against stale pointers in print_binder_transaction FROMLIST: binder: protect binder_ref with outer lock FROMLIST: binder: use inner lock to protect thread accounting FROMLIST: binder: protect transaction_stack with inner lock. FROMLIST: binder: protect proc->threads with inner_lock FROMLIST: binder: protect proc->nodes with inner lock FROMLIST: binder: add spinlock to protect binder_node FROMLIST: binder: add spinlocks to protect todo lists FROMLIST: binder: use inner lock to sync work dq and node counts FROMLIST: binder: introduce locking helper functions FROMLIST: binder: use node->tmp_refs to ensure node safety FROMLIST: binder: refactor binder ref inc/dec for thread safety FROMLIST: binder: make sure accesses to proc/thread are safe FROMLIST: binder: make sure target_node has strong ref FROMLIST: binder: guarantee txn complete / errors delivered in-order FROMLIST: binder: refactor binder_pop_transaction FROMLIST: binder: use atomic for transaction_log index FROMLIST: binder: add more debug info when allocation fails. FROMLIST: binder: protect against two threads freeing buffer FROMLIST: binder: remove dead code in binder_get_ref_for_node FROMLIST: binder: don't modify thread->looper from other threads FROMLIST: binder: avoid race conditions when enqueuing txn FROMLIST: binder: refactor queue management in binder_thread_read FROMLIST: binder: add log information for binder transaction failures FROMLIST: binder: make binder_last_id an atomic FROMLIST: binder: change binder_stats to atomics FROMLIST: binder: add protection for non-perf cases FROMLIST: binder: remove binder_debug_no_lock mechanism FROMLIST: binder: move binder_alloc to separate file FROMLIST: binder: separate out binder_alloc functions FROMLIST: binder: remove unneeded cleanup code FROMLIST: binder: separate binder allocator structure from binder proc FROMLIST: binder: Use wake up hint for synchronous transactions. Revert "android: binder: move global binder state into context struct." sched: walt: fix window misalignment when HZ=300 ANDROID: android-base.cfg: remove CONFIG_CGROUP_DEBUG ANDROID: sdcardfs: use mount_nodev and fix a issue in sdcardfs_kill_sb Conflicts: drivers/android/binder.c drivers/net/wireless/ath/ath10k/pci.c Change-Id: Ic6f82c2ec9929733a16a03bb3b745187e002f4f6 Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
| | * | | | | | drm/virtio: don't leak bo on drm_gem_object_init failureGerd Hoffmann2017-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 385aee965b4e4c36551c362a334378d2985b722a upstream. Reported-by: 李强 <liqiang6-s@360.cn> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170406155941.458-1-kraxel@redhat.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | | | | | | | drm/msm: reset TMDS clock ratio bit when disabling scramblerAbhinav Kumar2017-08-07
| |_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, when scrambler is disabled the TMDS clock ratio bit is left untouched. Ideally the sink should reset this bit during hot plug OR no-signal cases. However, the HDMI spec requires this bit to be explicitly reset by the source. Add support to reset this bit during scrambler disable. Change-Id: I092f6cae84653940e2bdb9100df5e384084cf938 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | | Merge "drm/edid: add colorimetry block parsing support"Linux Build Service Account2017-08-07
|\ \ \ \ \ \ \
| * | | | | | | drm/edid: add colorimetry block parsing supportAbhinav Kumar2017-08-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for parsing the colorimetry data block of EDID to get information about the supported encoding formats of the sink. This information is needed to use the appropriate color encoding scheme before transmitting the video stream to the sink. Change-Id: I133e8f21fa4ad843219dbefed2d072ad2edab197 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | | | Merge "drm/edid: add support for parsing quantization select field"Linux Build Service Account2017-08-07
|\| | | | | | |
| * | | | | | | drm/edid: add support for parsing quantization select fieldAbhinav Kumar2017-08-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for parsing the RGB and YCC quantization selectable field from the Video Capability Data block(VCDB) of the EDID. These fields help to decide whether the default quantization range for a particular video format can be overridden by the source. Change-Id: Ibc72eb13302527089ad66231cd7e8bb34fb364f3 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | | | Merge "msm: kgsl: Disable VPC all flat shading optimization for A5XX"Linux Build Service Account2017-08-07
|\ \ \ \ \ \ \ \
| * | | | | | | | msm: kgsl: Disable VPC all flat shading optimization for A5XXHareesh Gundu2017-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set ALLFLATOPTDIS bit in A5XX_VPC_DBG_ECO_CNTL register to disable VPC all flat shading optimization. ALLFLATOPTDIS is a hardware chicken bit value needs to be set one, to avoid UI rendering corruption. Change-Id: I39b5ad098daacbb1c3b0fc93963d82d477f70cc1 Signed-off-by: Hareesh Gundu <hareeshg@codeaurora.org>
* | | | | | | | | Merge "msm: kgsl: Protect the event->handle with spinlock"Linux Build Service Account2017-08-07
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / / |/| | | | | | | |
| * | | | | | | | msm: kgsl: Protect the event->handle with spinlockSunil Khatri2017-08-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | event->handle pointer can be used after free due to the race condition between kgsl_sync_callback and kgsl_sync_fence_async_cancel. Protect the event->handle with a spinlock to avoid concurrent access issues. Change-Id: I3719e401af9ece82ac68b72f2aef784c7fdc1104 Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
* | | | | | | | | msm: kgsl: Fix integer overflow in _load_gpmu_firmwareAbhilash Kumar2017-08-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a possibility of integer overflow in the arithmetic calculation for cmd_size. Fix this by adding checks for such arithmetic. Change-Id: I2298a32f8ba3411decb29f55bb7b55e2214de35a Signed-off-by: Abhilash Kumar <krabhi@codeaurora.org>
* | | | | | | | | Merge "msm: kgsl: Add a trace event for the GPU clock"Linux Build Service Account2017-08-03
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | msm: kgsl: Add a trace event for the GPU clockJonathan Wicks2017-08-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If requested, trace the GPU time to ensure a useful mapping regardless of the chosen trace clock. Change-Id: I76a893975de9a278c8178f935991191354f29e2f Signed-off-by: Jonathan Wicks <jwicks@codeaurora.org>
* | | | | | | | | | Merge "drm/msm: Fix race condition in the submit path"Linux Build Service Account2017-08-03
|\ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | drm/msm: Fix race condition in the submit pathSharat Masetty2017-08-03
| | |_|/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a race condition issue between the IRQ context trying to trigger preemption and the user context trying to submit commands to the GPU. The check in a5xx_flush() API only updates the wptr if the GPU is not in preemption. In the cases where we move from PREEMPT_START to PREEMPT_NONE there is a small window where the preempt state is still in START but the CPU context switches to the user thread which is in the a5xx_flush() call to update the wptr, but fails to update the wptr to the GPU since the preempt state is not PREEMPT_NONE. This leads to a GPU stall. Introduce a new intermediate state PREEMPT_ABORT and change preempt_trigger() to use gpu's current ring instead of the ring retrieved from get_next_ring() while in this state. Change-Id: I333e9de19824bd373901bbc8afc829de04635017 CRs-Fixed: 2081164 Signed-off-by: Sharat Masetty <smasetty@codeaurora.org>
* | | | | | | | | | Merge "msm: kgsl: Set the abnormal power perf counter value to zero"Linux Build Service Account2017-08-03
|\ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | msm: kgsl: Set the abnormal power perf counter value to zeroAbhilash Kumar2017-08-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During preemption microcode does save restore for all perf counters. If we read the power counters at preemption boundary we might get abnormal value from the perf counter. This will result in showing incorrect GPU busy percentage. Fix this by setting the abnormal power perf counter value with zero. Change-Id: I96ba367ceeeb92d6adb507d0d917113297b4b58d Signed-off-by: Abhilash Kumar <krabhi@codeaurora.org>
* | | | | | | | | | | Merge "msm: kgsl: Disallow L2PC during wake up from SLUMBER"Linux Build Service Account2017-08-03
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / |/| | | | | | | | | |
| * | | | | | | | | | msm: kgsl: Disallow L2PC during wake up from SLUMBERGaurav Sonwani2017-07-31
| | |/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a PM QOS request to disallow L2PC during wake up from SLUMBER state. This is required to improve queue to submit time for first set of GPU commands which results in GPU wake up. Change-Id: Iad1a6dfdf9e1fe034eef4fae526138d724bdd3eb Signed-off-by: Gaurav Sonwani <gsonwani@codeaurora.org>
* | | | | | | | | | Merge "msm: sde: move early splash's node parsing code for msm8996 auto"Linux Build Service Account2017-08-02
|\ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / |/| | | | | | | | |
| * | | | | | | | | msm: sde: move early splash's node parsing code for msm8996 autoGuchun Chen2017-08-02
| |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is to move specific node parsing code to other place for early splash feature on auto platform, not impacting kernel booting process of other platforms. Change-Id: I6deed1a75545c82ee777d9b4269f1420ab2eb07a Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
* | | | | | | | | Merge "msm: kgsl: Do not memset pages to zero while adding to pool"Linux Build Service Account2017-08-01
|\ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / |/| | | | | | | |
| * | | | | | | | msm: kgsl: Do not memset pages to zero while adding to poolDeepak Kumar2017-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Doing a memset to zero while adding a page to pool is not efficient as the page added to the pool can be returned to system in case shrinker kicks in. In this scenario, time spent in zeroing the page is a waste. Instead of zeroing the page while adding it to pool zero the page when it is taken from the pool. This helps in reducing the time taken to free big chunk of memory. Also, allocation time shouldn't be a problem as zeroing of page anyways happens during allocation in case it is allocated from system. Change-Id: I41ab2cb88fb4fd9854d2cc9a45bb60fc7013286a Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
* | | | | | | | | Merge "msm: kgsl: Fix leak when preemption init fails"Linux Build Service Account2017-07-31
|\ \ \ \ \ \ \ \ \ | |_|/ / / / / / / |/| | | | | | | |
| * | | | | | | | msm: kgsl: Fix leak when preemption init failsPrakash Kamliya2017-07-24
| | |_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For any reason if preemption initialization fails, we do not free allocated memory for preemption. Free allocated memory when it fails. Change-Id: Ie931766f1ec1de7f3a0522054fc1fcb7b9426be6 Signed-off-by: Prakash Kamliya <pkamliya@codeaurora.org>
* | | | | | | | Merge "msm: sde: release LK's pool when LK exits"Linux Build Service Account2017-07-31
|\ \ \ \ \ \ \ \
| * | | | | | | | msm: sde: release LK's pool when LK exitsGuchun Chen2017-07-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LK's pool is reserved for running on its code stack. So once LK exits, the memory region it stays on should be released and reused by system. Change-Id: Iec5af69573eb633de48c931a052bd596f5ed3bda Signed-off-by: Guchun Chen <guchunc@codeaurora.org>