summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm (follow)
Commit message (Collapse)AuthorAge
...
| | * | | | drm/amdgpu/ci: disable mclk switching for high refresh rates (v2)Alex Deucher2017-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | Merge "drm/msm: add PLL_ENABLE property to support clock recovery"Linux Build Service Account2017-06-22
|\ \ \ \ \ \
| * | | | | | drm/msm: add PLL_ENABLE property to support clock recoveryRay Zhang2017-06-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PLL_ENABLE property is used to enable or disable the PLL update function. With this property PLL update function only works when PLL_ENABLE is set, and all changes done to hardware will be discarded once PLL_ENABLE is cleared. CRs-Fixed: 2042852 Change-Id: Ia321918382b8622101cff566049284810833f63e Signed-off-by: Ray Zhang <rayz@codeaurora.org>
* | | | | | | Merge "drm/msm: gracefully handle NULL return from setup_pagetable()"Linux Build Service Account2017-06-22
|\ \ \ \ \ \ \
| * | | | | | | drm/msm: gracefully handle NULL return from setup_pagetable()Sharat Masetty2017-06-16
| | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a possibility that load_gpu() can fail to initialize and turn on the GPU successfully due to system level issues such as a clock or a regulator not turning on. In such a case setup_pagetable() returns a NULL pointer which is not handled correctly in msm_open(). This leads to a crash in INIT_LIST_HEAD() which tries to access a NULL pointer. This patch properly handles the NULL return and initializes the list head only if the gpu load was successful, also adds missing NULL checks to places in the code where the msm_file_private structure was being accessed. Change-Id: I6eb85227d928a82c3cf2553fd6645affdd986473 Signed-off-by: Sharat Masetty <smasetty@codeaurora.org>
* | | | | | | Merge "drm/msm: Move memptrs to msm_gpu and reorganize"Linux Build Service Account2017-06-22
|\ \ \ \ \ \ \ | |_|_|_|_|/ / |/| | | | | |
| * | | | | | drm/msm: Move memptrs to msm_gpu and reorganizeJordan Crouse2017-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | | | | drm/msm: Attach the MMUs as soon as they are allocatedJordan Crouse2017-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | | | | drm/msm: Add a helper function for in-kernel buffer allocationsJordan Crouse2017-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | | | | drm/msm: Simplify ringbuffer cleanupJordan Crouse2017-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleanup and consolidate sanity checking on the ringbuffer cleanup code. Change-Id: Ic0dedbad551d36ca8ed3db56a4366a5008768791 Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
* | | | | | | Merge "Merge branch 'android-4.4@6fc0573' into branch 'msm-4.4'"Linux Build Service Account2017-06-22
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | / / / | | |_|/ / / | |/| | | |
| * | | | | Merge branch 'android-4.4@6fc0573' into branch 'msm-4.4'Blagovest Kolenichev2017-06-19
| |\ \ \ \ \ | | | |_|/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| | * | | | drm/gma500/psb: Actually use VBT mode when it is foundPatrik Jakobsson2017-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | | | drm/radeon: Unbreak HPD handling for r600+Lyude2017-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| | * | | | drm/radeon/ci: disable mclk switching for high refresh rates (v2)Alex Deucher2017-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | Merge "drm/msm: use 13-bit mask for h_total and v_total"Linux Build Service Account2017-06-20
|\ \ \ \ \ \
| * | | | | | drm/msm: use 13-bit mask for h_total and v_totalRay Zhang2017-06-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | | Merge "drm/msm: start secure domain va from non-zero address"Linux Build Service Account2017-06-20
|\ \ \ \ \ \ \
| * | | | | | | drm/msm: start secure domain va from non-zero addressAbhijit Kulkarni2017-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Zero address is considered invalid address, hence changing the secure domain mapping space to start from a non-zero address CRs-Fixed: 2053654 Change-Id: I27300845fb3839372bc38be1d322a7ad0cd0472d Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
* | | | | | | | Merge "drm/msm: Remove superfluous hang check message"Linux Build Service Account2017-06-20
|\ \ \ \ \ \ \ \ | | |_|_|_|/ / / | |/| | | | | |
| * | | | | | | drm/msm: Remove superfluous hang check messageJordan Crouse2017-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | | | Merge "drm/msm: Add a submit queue flag to disable the QoS timer"Linux Build Service Account2017-06-20
|\| | | | | | |
| * | | | | | | drm/msm: Add a submit queue flag to disable the QoS timerJordan Crouse2017-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | | | Merge "drm/msm: Add submit queue queries"Linux Build Service Account2017-06-20
|\| | | | | | |
| * | | | | | | drm/msm: Add submit queue queriesJordan Crouse2017-06-19
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | | Merge "drm/msm : add hdcp debugfs nodes for DRM HDMI driver"Linux Build Service Account2017-06-19
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | |
| * | | | | | drm/msm : add hdcp debugfs nodes for DRM HDMI driverAbhinav Kumar2017-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add debugfs nodes to indicate source/sink HDCP support and authentication state accurately for DRM HDMI driver. Change-Id: Ia947c97708c99f23b7b4f23bcad75529b155a42c Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | | Merge "drm: msm: Enable asynchronous driver probing"Linux Build Service Account2017-06-19
|\ \ \ \ \ \ \
| * | | | | | | drm: msm: Enable asynchronous driver probingYunyun Cao2017-06-12
| | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | | Merge "drm/msm : add utility function to dump HDMI registers"Linux Build Service Account2017-06-19
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | |
| * | | | | | drm/msm : add utility function to dump HDMI registersAbhinav Kumar2017-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a utility function to dump HDMI core registers to command line. This will facilitate debugging issues by just calling this API wherever necessary. Change-Id: I4a6727dca34edf4bb1c240adc7b93f50a7530b98 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | | Merge "drivers/misc: move hdcp sysfs nodes to misc hdcp driver"Linux Build Service Account2017-06-18
|\| | | | | |
| * | | | | | drivers/misc: move hdcp sysfs nodes to misc hdcp driverAbhinav Kumar2017-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the sysfs nodes for receiving minimum encryption level reside within the SDE HDMI driver. Move the nodes to the misc hdcp driver so that they are available for use for targets using DRM SDE driver. Change-Id: I94daa981536e56930f7b15eb0ca7b895b9bc9c44 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | | Merge "drm/msm: add HDCP 2.2 module for DRM HDMI"Linux Build Service Account2017-06-18
|\| | | | | | | |_|/ / / / |/| | | | |
| * | | | | drm/msm: add HDCP 2.2 module for DRM HDMIAbhinav Kumar2017-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the HDCP 2.2 module for DRM HDMI. Call the HDCP 2.2 APIs from the SDE HDMI driver and also invoke the HDCP 2.2 ISR routine from the parent ISR routine of the SDE HDMI driver. Change-Id: Ib9a427e5712c827fa93b91fc3a416af61ea83745 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
| * | | | | drm/msm : add HDCP 2.2 helper functions to HDMI utilsAbhinav Kumar2017-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HDCP 2.2 needs additional helper functions for handling DDC transactions and interface specific calculations. Add the necessary utility APIs and also move the necessary ones to the HDMI utils file for better maintenance. Change-Id: I215f04991c6ff71ec3e1db7674024e85fbc922e8 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
| * | | | | drm/msm: make sde hdcp 1x module use the new hdcp lib APIsAbhinav Kumar2017-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All sysfs nodes have been moved to the misc hdcp driver. Make the sde hdcp 1x module interact with the misc hdcp driver to keep the functionality of repeater topology intact as its used by wi-fi display userspace module. Change-Id: Iecf404330695369c17e4afeff864eb6d7b92e372 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | Merge "drm/msm: add HDCP 1x module for MSM DRM driver"Linux Build Service Account2017-06-15
|\| | | | |
| * | | | | drm/msm: add HDCP 1x module for MSM DRM driverAbhinav Kumar2017-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds the HDCP 1x module for MSM DRM driver and also hooks it up with SDE HDMI driver. Change-Id: Iaf53c398254f6838a1d3cae610e069c5dbe18138 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
| * | | | | drm/msm: add HDCP helper functions to DRM HDMI driverAbhinav Kumar2017-06-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add useful helper functions to the DRM HDMI driver to be used later when HDCP functionality gets added. Also add and initialize necessary members to the SDE HDMI controller to facilitate easier integration of DRM HDCP module. Change-Id: I699f6685327e674a871a404fe5cf3adebe823d46 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
| * | | | | drm/msm: clean up DDC handling for SDE HDMI driverAbhinav Kumar2017-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Separate out the DRM HDMI utility functions into a separate module. Make the DRM HDMI utility functions support self retry where they shall try for an arbitrary number of times on failure otherwise let the client call the API to retry the number of times as warranted. Add a SDE HDMI utility file which shall invoke the upstream functions in a manner as required to maintain the functionality of legacy drivers. Change-Id: I64af3f997a16b2d9358ea867585aa12772d22599 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
* | | | | | Merge "drm/msm: add support for parsing hdmi/hdcp capabilities"Linux Build Service Account2017-06-15
|\| | | | |
| * | | | | drm/msm: add support for parsing hdmi/hdcp capabilitiesAbhinav Kumar2017-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support to parse the HDMI TX version and HDCP support from the HDMI and QFPROM registers. This information is used to decide which HDCP driver module is to be initialized at boot time. Change-Id: Ib598f3867f1cd2ef9adb7503c5907cbb1e4ba758 Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
| * | | | | drm/msm: align HDMI register address space mapping with SDEAbhinav Kumar2017-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | Merge "drm/msm: Add per-instance submit queues"Linux Build Service Account2017-06-15
|\ \ \ \ \ \
| * | | | | | drm/msm: Add per-instance submit queuesJordan Crouse2017-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | | Merge "msm: smmu: add re-route calling for specified iova when mapping"Linux Build Service Account2017-06-14
|\ \ \ \ \ \ \
| * | | | | | | msm: smmu: add re-route calling for specified iova when mappingGuchun Chen2017-06-14
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | | Merge "drm/msm/sde: add support to select secure context bank"Linux Build Service Account2017-06-14
|\ \ \ \ \ \ \
| * | | | | | | drm/msm/sde: add support to select secure context bankAbhijit Kulkarni2017-06-13
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>