summaryrefslogtreecommitdiff
path: root/drivers/gpu (follow)
Commit message (Collapse)AuthorAge
...
| | * | | | | | | drm/nouveau/tmr: fix corruption of the pending list when rescheduling an alarmBen Skeggs2017-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 9fc64667ee48c9a25e7dca1a6bcb6906fec5bcc5 upstream. At least therm/fantog "attempts" to work around this issue, which could lead to corruption of the pending alarm list. Fix it properly by not updating the timestamp without the lock held, or trying to add an already pending alarm to the pending alarm list.... Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * | | | | | | drm/nouveau/tmr: ack interrupt before processing alarmsBen Skeggs2017-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 3733bd8b407211739e72d051e5f30ad82a52c4bc upstream. Fixes a race where we can miss an alarm that triggers while we're already processing previous alarms. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * | | | | | | drm/nouveau/therm: remove ineffective workarounds for alarm bugsBen Skeggs2017-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit e4311ee51d1e2676001b2d8fcefd92bdd79aad85 upstream. These were ineffective due to touching the list without the alarm lock, but should no longer be required. Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * | | | | | | drm/amdgpu: Make display watermark calculations more accurateMario Kleiner2017-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit d63c277dc672e0c568481af043359420fa9d4736 upstream. Avoid big roundoff errors in scanline/hactive durations for high pixel clocks, especially for >= 500 Mhz, and thereby program more accurate display fifo watermarks. Implemented here for DCE 6,8,10,11. Successfully tested on DCE 10 with AMD R9 380 Tonga. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| | * | | | | | | drm/amdgpu: Avoid overflows/divide-by-zero in latency_watermark calculations.Mario Kleiner2017-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit e190ed1ea7458e446230de4113cc5d53b8dc4ec8 upstream. At dot clocks > approx. 250 Mhz, some of these calcs will overflow and cause miscalculation of latency watermarks, and for some overflows also divide-by-zero driver crash ("divide error: 0000 [#1] PREEMPT SMP" in "dce_v10_0_latency_watermark+0x12d/0x190"). This zero-divide happened, e.g., on AMD Tonga Pro under DCE-10, on a Displayport panel when trying to set a video mode of 2560x1440 at 165 Hz vrefresh with a dot clock of 635.540 Mhz. Refine calculations to avoid the overflows. Tested for DCE-10 with R9 380 Tonga + ASUS ROG PG279 panel. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* | | | | | | | | Merge "drm/msm: Fix drm_mm bottom_up search"Linux Build Service Account2017-06-08
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | drm/msm: Fix drm_mm bottom_up searchSushmita Susheelendra2017-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | | | | | Merge "drm/msm: Use mmu notifiers to track SVM range invalidations"Linux Build Service Account2017-06-08
|\| | | | | | | | | | |_|_|_|_|_|/ / / |/| | | | | | | |
| * | | | | | | | drm/msm: Use mmu notifiers to track SVM range invalidationsSushmita Susheelendra2017-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | | | | | | drm/msm: Fix error path clean-up for buffer object creationSushmita Susheelendra2017-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | | | | | | drm/msm: Implement shared virtual memory ioctlSushmita Susheelendra2017-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | | | | | | drm: Remove redundant variable assignmentSushmita Susheelendra2017-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The variable 'end' is computed twice. Remove the redundant assignment. Change-Id: I79802b5f08aa10146b113d14ab40f33f6fefe6dc Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
| * | | | | | | | drm: Declare that create drm_mm nodes with size 0 is illegalChris Wilson2017-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At a higher level, all objects are created with definite size i.e. 0 is illegal. In forthcoming patches, this assumption is dependent upon in the drm_mm range manager, i.e. trying to create a drm_mm node with size 0 will have undefined behaviour. Add a couple of WARNs upon creating the drm_mm node to prevent later bugs. Change-Id: Ieb81a8ef5a05a32dd37dfc040ea3f78243b59161 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1470248788-30873-1-git-send-email-chris@chris-wilson.co.uk Git-commit: aafdcfd3f9aa3c9f77ae4e9385f21bf9ae120d3e Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
| * | | | | | | | drm: Skip initialising the drm_mm_node->hole_stackChris Wilson2017-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As we always add this to the drm_mm->hole_stack as our first operation, we do not need to initialise the list node. Change-Id: If2e9e06141bdb9a9411ef875cb83e41a48e5f1a9 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: David Herrmann <dh.herrmann@gmail.com> Cc: dri-devel@lists.freedesktop.org Reviewed-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1470236651-678-3-git-send-email-chris@chris-wilson.co.uk Git-commit: a787900564ffc6eebbcb7086b45e04a0bc3370f0 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
| * | | | | | | | drm: Track drm_mm nodes with an interval treeChris Wilson2017-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In addition to the last-in/first-out stack for accessing drm_mm nodes, we occasionally and in the future often want to find a drm_mm_node by an address. To do so efficiently we need to track the nodes in an interval tree - lookups for a particular address will then be O(lg(N)), where N is the number of nodes in the range manager as opposed to O(N). Insertion however gains an extra O(lg(N)) step for all nodes irrespective of whether the interval tree is in use. For future i915 patches, eliminating the linear walk is a significant improvement. v2: Use generic interval-tree template for u64 and faster insertion. Change-Id: Iddcb7891480ca7d6e0469c8d394fcd1962ed4583 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: David Herrmann <dh.herrmann@gmail.com> Cc: dri-devel@lists.freedesktop.org Reviewed-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Link: http://patchwork.freedesktop.org/patch/msgid/1470236651-678-1-git-send-email-chris@chris-wilson.co.uk Git-commit: 202b52b7fbf70858609ec20829c7d69a13ffa351 Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
* | | | | | | | | Merge "drm/msm : fix hdmi controller register programming"Linux Build Service Account2017-06-07
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ / |/| | | | | | | |
| * | | | | | | | drm/msm : fix hdmi controller register programmingAbhinav Kumar2017-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | | | | Merge "msm: cec: Use CEC notifier framework in adapter driver"Linux Build Service Account2017-06-06
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | |
| * | | | | | | | drm/msm: add CEC notifier support for HDMI driverRay Zhang2017-06-05
| | |_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | | | | Merge "drm/msm: Separate locking of buffer resources from struct_mutex"Linux Build Service Account2017-06-06
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | |
| * | | | | | | drm/msm: Separate locking of buffer resources from struct_mutexSushmita Susheelendra2017-05-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Buffer object specific resources like pages, domains, sg list need not be protected with struct_mutex. They can be protected with a buffer object level lock. This simplifies locking and makes it easier to avoid potential recursive locking scenarios for SVM involving mmap_sem and struct_mutex. This also removes unnecessary serialization when creating buffer objects, and also between buffer object creation and GPU command submission. Change-Id: I40cb437d0186c3d9aac365c9baba0aa4792f0aa1 Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
| * | | | | | | drm/msm: Set the TTBR1 range for a 36-bit address spaceSushmita Susheelendra2017-05-31
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define a 36-bit address space for TTBR1 which is used for kernel side GPU buffer objects. Change-Id: I1c4eaee0fd92236793621c7d3dba1700e56fefd2 Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
* | | | | | | Merge "drm/msm: fix leak in failed get_pages"Linux Build Service Account2017-06-03
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | |
| * | | | | | drm/msm: fix leak in failed get_pagesPrakash Kamliya2017-05-31
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | get_pages doesn't keep a reference of the pages allocated when it fails later in the code path. This can lead to a memory leak. Keep reference of the allocated pages so that it can be freed when msm_gem_free_object gets called later during cleanup. Change-Id: I44dea20e10c056c1c5e80d01bab0a274ff768b1c Signed-off-by: Prakash Kamliya <pkamliya@codeaurora.org>
* | | | | | Merge "msm: smmu: add re-route calling for specified iova."Linux Build Service Account2017-06-01
|\ \ \ \ \ \ | | |_|/ / / | |/| | | |
| * | | | | msm: smmu: add re-route calling for specified iova.Guchun Chen2017-06-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/unmap function. Change-Id: I062b04d7eec65af1c106a5caa09ec787b5d26d0d Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
* | | | | | Merge "msm: kgsl: Use per page cache operation instead of bulk cache operation"Linux Build Service Account2017-06-01
|\ \ \ \ \ \
| * | | | | | msm: kgsl: Use per page cache operation instead of bulk cache operationDeepak Kumar2017-05-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For any cache operation, the current code tries to map all pages to the kernel using vmap in case sg table is not available and then performs the requested cache operation. If vmap fails because of memory crunch ioctl just returns failure. This change avoids using vmap and performs per page cache operation even when sg table is not available. This is done to avoid failures because of vmap especially on 32 bit systems. Change-Id: I123b46e6a55a62cbf934ab6a2a49dcd1f0d4c7d4 Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
* | | | | | | drm/msm: Fix potential buffer overflow issueKasin Li2017-05-31
| |_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In function submit_create, if nr_cmds or nr_bos is assigned with negative value, the allocated buffer may be small than intended. Using this buffer will lead to buffer overflow issue. Change-Id: I0b61cccffd836e2dd3c859446470af4b6451b9ed Signed-off-by: Kasin Li <donglil@codeaurora.org>
* | | | | | Merge "msm: kgsl: Deal with a NULL pointer when creating default pagetable"Linux Build Service Account2017-05-26
|\ \ \ \ \ \
| * | | | | | msm: kgsl: Deal with a NULL pointer when creating default pagetableLynus Vaz2017-05-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Return an appropriate error code if the default pagetable is NULL. Change-Id: Ic88b066c40a8f840d95fd3fbc9ee9274c428b66a Signed-off-by: Lynus Vaz <lvaz@codeaurora.org>
* | | | | | | Merge "msm: kgsl: Update QoS settings for A508 VBIF as recommended"Linux Build Service Account2017-05-26
|\ \ \ \ \ \ \
| * | | | | | | msm: kgsl: Update QoS settings for A508 VBIF as recommendedRajesh Kemisetti2017-05-25
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update QoS settings for A508 VBIF based on recommendation. VBIF_GATE_OFF_WRREQ_EN register needs to be programmed by SW. Change-Id: I7d41c8350ad09c595f288bd2a2b45fc2abef15f8 Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
* | | | | | | Merge "drm/msm: profile submit_time in nanosecond resolution"Linux Build Service Account2017-05-26
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | |
| * | | | | | drm/msm: profile submit_time in nanosecond resolutionSharat Masetty2017-05-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The initial version of the patch save the command submit_time and queue_time in seconds, but its desired by the users of this profiling API to return the time in nanoseconds resolution. Change-Id: I3a56e3ffd3ebe86f51a00a12b7c3e7c4b4c9a956 Signed-off-by: Sharat Masetty <smasetty@codeaurora.org>
* | | | | | | Merge "drm/msm: add irq mapping for cec in hdmi driver"Linux Build Service Account2017-05-26
|\ \ \ \ \ \ \
| * | | | | | | drm/msm: add irq mapping for cec in hdmi driverRay Zhang2017-05-25
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make HDMI device as the interrupt parent of CEC device, so add the new IRQ domain in HDMI driver dealing with the necessary IRQ mapping. Change-Id: Id935da1d1e488ccee01b831b9f085a83d67268f2 Signed-off-by: Ray Zhang <rayz@codeaurora.org>
* | | | | | | Merge "msm: kgsl: Return mementry only if pending_free is not set"Linux Build Service Account2017-05-25
|\ \ \ \ \ \ \
| * | | | | | | msm: kgsl: Return mementry only if pending_free is not setDeepak Kumar2017-05-23
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Return mementry from kgsl_sharedmem_find only if pending_free is not set for that mementry. This is necessary to avoid use of a mementry after it is already marked for free. Change-Id: I23111e9c82a88ccbda2ab259074c38d91f9ff5cb Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
* | | | | | | Merge "msm: kgsl: Don't delete uninitialized preemption timer"Linux Build Service Account2017-05-25
|\ \ \ \ \ \ \
| * | | | | | | msm: kgsl: Don't delete uninitialized preemption timerWenbin Wang2017-05-22
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we delete uninitialized timer on CONFIG_DEBUG_OBJECTS disabled build del_timer_sync() will block for ever. For all A3xx targets preemption timer is not initialized, but dispatcher fault handler is trying to delete the uninitialized preemption timer. Fix this issue by adding a preemption check before we delete it. CRs-Fixed: 2023690 Change-Id: I2c51a0b2286b82bf2eb5ee68d923dd9585f07f00 Signed-off-by: Wenbin Wang <wwenbin@codeaurora.org> Signed-off-by: Abhilash Kumar <krabhi@codeaurora.org>
* | | | | | | Merge "drm/sde: only set split registers for DSI interfaces"Linux Build Service Account2017-05-25
|\ \ \ \ \ \ \
| * | | | | | | drm/sde: only set split registers for DSI interfacesJin Li2017-05-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SPLIT related registers are only for DSI interfaces. Without checking the interface type, they could be overwrote by configurations through HDMI path. CRs-Fixed: 1085586 Change-Id: I7ace9fd8dfe5ee99cb750b2723e8f22701039552 Signed-off-by: Jin Li <jinl@codeaurora.org> Signed-off-by: Yunyun Cao <yunyunc@codeaurora.org>
| * | | | | | | drm/sde: set display h/v polarity according to panel infoJin Li2017-05-15
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The h/v polarity should always be set from the panel configuration. For HDMI display, it's from the EDID information. For DSI display, it's from the panel settings in the dtsi. CRs-Fixed: 1085021 Change-Id: I3776603d7055e69eb2c8e5003ab83bc0483ab7c8 Signed-off-by: Jin Li <jinl@codeaurora.org> Signed-off-by: Yunyun Cao <yunyunc@codeaurora.org>
* | | | | | | Merge "drm/msm: wait fence complete before flip"Linux Build Service Account2017-05-25
|\ \ \ \ \ \ \
| * | | | | | | drm/msm: wait fence complete before flipJin Li2017-05-16
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In async commit case, driver needs to always wait for input fence before triggering the complete_commit path. Otherwise, there could be tearing since GPU hasn't finished the composition rendering. Change-Id: I73a54f5811fdcf8639618ce3cacf4cbaa00b406c Signed-off-by: Felix Xiong <xayang@codeaurora.org> Signed-off-by: Jin Li <jinl@codeaurora.org> Signed-off-by: Yunyun Cao <yunyunc@codeaurora.org>
* | | | | | | Merge "Merge remote-tracking branch 'origin/tmp-285c137' into msm-4.4"Linux Build Service Account2017-05-25
|\ \ \ \ \ \ \
| * \ \ \ \ \ \ Merge remote-tracking branch 'origin/tmp-285c137' into msm-4.4Kyle Yan2017-05-15
| |\ \ \ \ \ \ \ | | |/ / / / / / | |/| | | / / / | | | |_|/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/tmp-285c137: Linux 4.4.68 block: get rid of blk_integrity_revalidate() drm/ttm: fix use-after-free races in vm fault handling f2fs: sanity check segment count bnxt_en: allocate enough space for ->ntp_fltr_bmap ipv6: reorder ip6_route_dev_notifier after ipv6_dev_notf ipv6: initialize route null entry in addrconf_init() rtnetlink: NUL-terminate IFLA_PHYS_PORT_NAME string ipv4, ipv6: ensure raw socket message is big enough to hold an IP header tcp: do not inherit fastopen_req from parent tcp: fix wraparound issue in tcp_lp bpf, arm64: fix jit branch offset related to ldimm64 tcp: do not underestimate skb->truesize in tcp_trim_head() ALSA: hda - Fix deadlock of controller device lock at unbinding staging: emxx_udc: remove incorrect __init annotations staging: wlan-ng: add missing byte order conversion brcmfmac: Make skb header writable before use brcmfmac: Ensure pointer correctly set if skb data location changes MIPS: R2-on-R6 MULTU/MADDU/MSUBU emulation bugfix scsi: mac_scsi: Fix MAC_SCSI=m option when SCSI=m serial: 8250_omap: Fix probe and remove for PM runtime phy: qcom-usb-hs: Add depends on EXTCON USB: serial: io_edgeport: fix descriptor error handling USB: serial: mct_u232: fix modem-status error handling USB: serial: quatech2: fix control-message error handling USB: serial: ftdi_sio: fix latency-timer error handling USB: serial: ark3116: fix open error handling USB: serial: ti_usb_3410_5052: fix control-message error handling USB: serial: io_edgeport: fix epic-descriptor handling USB: serial: ssu100: fix control-message error handling USB: serial: digi_acceleport: fix incomplete rx sanity check USB: serial: keyspan_pda: fix receive sanity checks usb: chipidea: Handle extcon events properly usb: chipidea: Only read/write OTGSC from one place usb: host: ohci-exynos: Decrese node refcount on exynos_ehci_get_phy() error paths usb: host: ehci-exynos: Decrese node refcount on exynos_ehci_get_phy() error paths KVM: nVMX: do not leak PML full vmexit to L1 KVM: nVMX: initialize PML fields in vmcs02 Revert "KVM: nested VMX: disable perf cpuid reporting" x86/platform/intel-mid: Correct MSI IRQ line for watchdog device kprobes/x86: Fix kernel panic when certain exception-handling addresses are probed clk: Make x86/ conditional on CONFIG_COMMON_CLK x86/pci-calgary: Fix iommu_free() comparison of unsigned expression >= 0 x86/ioapic: Restore IO-APIC irq_chip retrigger callback mwifiex: Avoid skipping WEP key deletion for AP mwifiex: remove redundant dma padding in AMSDU mwifiex: debugfs: Fix (sometimes) off-by-1 SSID print ARM: OMAP5 / DRA7: Fix HYP mode boot for thumb2 build leds: ktd2692: avoid harmless maybe-uninitialized warning power: supply: bq24190_charger: Handle fault before status on interrupt power: supply: bq24190_charger: Don't read fault register outside irq_handle_thread() power: supply: bq24190_charger: Call power_supply_changed() for relevant component power: supply: bq24190_charger: Install irq_handler_thread() at end of probe() power: supply: bq24190_charger: Call set_mode_host() on pm_resume() power: supply: bq24190_charger: Fix irq trigger to IRQF_TRIGGER_FALLING powerpc/powernv: Fix opal_exit tracepoint opcode cpupower: Fix turbo frequency reporting for pre-Sandy Bridge cores ARM: 8452/3: PJ4: make coprocessor access sequences buildable in Thumb2 mode 9p: fix a potential acl leak ANDROID: android-base.cfg: remove spurious CONFIG_MODULES line ANDROID: memory_state_time: fix undefined behavior with missing DT properties ANDROID: rfkill: fix unused function warning ANDROID: make PF_KEY SHA256 use RFC-compliant truncation. ANDROID: sdcardfs: fix sdcardfs_destroy_inode for the inode RCU approach ANDROID: android-base.cfg: remove NETFILTER_XT_MATCH_QUOTA2_LOG ANDROID: sdcardfs: Don't iput if we didn't igrab ANDROID: Add untag hacks to inet_release function Change-Id: I6d750f8bb186774ff9630beeb0ed8e680af26231 Signed-off-by: Kyle Yan <kyan@codeaurora.org>
| | * | | | | drm/ttm: fix use-after-free races in vm fault handlingNicolai Hähnle2017-05-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 3089c1df10e2931b1d72d2ffa7d86431084c86b3 upstream. The vm fault handler relies on the fact that the VMA owns a reference to the BO. However, once mmap_sem is released, other tasks are free to destroy the VMA, which can lead to the BO being freed. Fix two code paths where that can happen, both related to vm fault retries. Found via a lock debugging warning which flagged &bo->wu_mutex as locked while being destroyed. Fixes: cbe12e74ee4e ("drm/ttm: Allow vm fault retries") Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-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: deal with arbitrary # of cmd buffers"Linux Build Service Account2017-05-25
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | |