Re: [PATCHv4] drm/sun4i: validate modes for HDMI

2017-12-17 Thread Maxime Ripard
Hi,

On Fri, Dec 15, 2017 at 06:06:32PM +0100, Daniel Vetter wrote:
> On Fri, Dec 15, 2017 at 05:46:19PM +0100, Hans Verkuil wrote:
> > When I connected my cubieboard running 4.15-rc1 to my 4k display I got no 
> > picture. Some
> > digging found that there is no check against the upper pixelclock limit of 
> > the HDMI
> > output, so X selects a 4kp60 format at 594 MHz, which obviously won't work.
> > 
> > The patch below adds a check for the upper bound of what this hardware can 
> > do, and
> > it checks if the requested tmds clock can be obtained.
> > 
> > It also allows for the ± 0.5% pixel clock variation that the HDMI spec 
> > permits.
> > 
> > That code is based on commit 22d0be2a557e53a22feb484e8fce255fe09e6ad5 from
> > Jose Abreu for drm/arc.
> > 
> > Signed-off-by: Hans Verkuil 
> > ---
> > Changes since v3:
> > - Move the mode_valid callback to struct drm_encoder_helper_funcs.
> >   I'm assuming this is the correct struct, since this check is specific to 
> > the
> >   hdmi encoder.
> 
> Reviewed-by: Daniel Vetter 
> 
> I think sun4i is in drm-misc, so feel free to push.

I already pushed the v3. Hans, can you provide an additional patch? on top of 
your v3?

Thanks!
Maxime

-- 
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com


signature.asc
Description: PGP signature
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH] kthread: finer-grained lockdep/cross-release completion

2017-12-17 Thread Daniel Vetter
On Mon, Dec 11, 2017 at 10:19:28AM +0100, Daniel Vetter wrote:
> On Fri, Dec 08, 2017 at 11:54:19AM +0100, Peter Zijlstra wrote:
> > On Thu, Dec 07, 2017 at 11:08:49AM +0100, Daniel Vetter wrote:
> > > Since -rc1 we're hitting a bunch of lockdep splats using the new
> > > cross-release stuff around the 2 kthread completions. In all cases
> > > they are because totally independent uses of kthread are mixed up by
> > > lockdep into the same locking class, creating artificial deadlocks.
> > > 
> > > Fix this by converting kthread code in the same way as e.g.
> > > alloc_workqueue already works: Use macros for the public api so we can
> > > have a callsite specific lockdep key, then pass that through the
> > > entire callchain. Due to the many entry points this is slightly
> > > tedious.
> > > 
> > > Cc: Tvrtko Ursulin 
> > > Cc: Marta Lofstedt 
> > > Cc: Byungchul Park 
> > > Cc: Ingo Molnar 
> > > Cc: Peter Zijlstra 
> > > Cc: Tejun Heo 
> > > Cc: Kees Cook 
> > > Cc: Thomas Gleixner 
> > > Cc: Shaohua Li 
> > > Cc: Andrew Morton 
> > > Cc: Jens Axboe 
> > > Cc: Daniel Vetter 
> > > Cc: Greg Kroah-Hartman 
> > > Cc: Jonathan Corbet 
> > > Cc: Oleg Nesterov 
> > > References: https://bugs.freedesktop.org/show_bug.cgi?id=103950
> > > Signed-off-by: Daniel Vetter 
> > 
> > Acked-by: Peter Zijlstra (Intel) 
> 
> Who's going to pick this up? Ingo, Andrew?

This didn't seem to have made it into -rc4. Anything needed to get it
going?

Thanks, Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


RE: [PATCH 3/3] drm/ttm: cleanup some old defines

2017-12-17 Thread He, Roger
The series is: Reviewed-by: Roger He 

Thanks
Roger(Hongbo.He)
-Original Message-
From: dri-devel [mailto:dri-devel-boun...@lists.freedesktop.org] On Behalf Of 
Christian K?nig
Sent: Saturday, December 16, 2017 2:32 AM
To: dri-devel@lists.freedesktop.org
Subject: [PATCH 3/3] drm/ttm: cleanup some old defines

Use pr_debug instead of TTM_DEBUG, fix the lockdep assert and remove the unused 
constant.

Signed-off-by: Christian König 
---
 drivers/gpu/drm/ttm/ttm_bo.c | 10 +++---
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index 
5cc96b232c17..60bb5c12b568 100644
--- a/drivers/gpu/drm/ttm/ttm_bo.c
+++ b/drivers/gpu/drm/ttm/ttm_bo.c
@@ -42,10 +42,6 @@
 #include 
 #include 
 
-#define TTM_ASSERT_LOCKED(param)
-#define TTM_DEBUG(fmt, arg...)
-#define TTM_BO_HASH_ORDER 13
-
 static int ttm_bo_swapout(struct ttm_mem_shrink *shrink);  static void 
ttm_bo_global_kobj_release(struct kobject *kobj);
 
@@ -233,7 +229,7 @@ static int ttm_bo_add_ttm(struct ttm_buffer_object *bo, 
bool zero_alloc)
int ret = 0;
uint32_t page_flags = 0;
 
-   TTM_ASSERT_LOCKED(>mutex);
+   reservation_object_assert_held(bo->resv);
bo->ttm = NULL;
 
if (bdev->need_dma32)
@@ -1544,12 +1540,12 @@ int ttm_bo_device_release(struct ttm_bo_device *bdev)
cancel_delayed_work_sync(>wq);
 
if (ttm_bo_delayed_delete(bdev, true))
-   TTM_DEBUG("Delayed destroy list was clean\n");
+   pr_debug("Delayed destroy list was clean\n");
 
spin_lock(>lru_lock);
for (i = 0; i < TTM_MAX_BO_PRIORITY; ++i)
if (list_empty(>man[0].lru[0]))
-   TTM_DEBUG("Swap list %d was clean\n", i);
+   pr_debug("Swap list %d was clean\n", i);
spin_unlock(>lru_lock);
 
drm_vma_offset_manager_destroy(>vma_manager);
--
2.11.0

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 104307] radeon ring 0 stalled for more than ... radeon ... GPU lockup ...

2017-12-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=104307

Bug ID: 104307
   Summary: radeon ring 0 stalled for more than ... radeon ... GPU
lockup ...
   Product: Mesa
   Version: 17.2
  Hardware: x86-64 (AMD64)
OS: Linux (All)
Status: NEW
  Severity: normal
  Priority: medium
 Component: Drivers/Gallium/radeonsi
  Assignee: dri-devel@lists.freedesktop.org
  Reporter: narutocan...@gmail.com
QA Contact: dri-devel@lists.freedesktop.org

Created attachment 136241
  --> https://bugs.freedesktop.org/attachment.cgi?id=136241=edit
apitrace trace --api gl ./a.out ; mv a.out.trace a.out.mesa-17.2.7.trace

# how to reproduce:
# cd /build/mesa-13.0.6/; make install
rm a.out t.ppm ; gcc gbm5.c -lgbm -lEGL -lGL -lGLU ; apitrace trace --api gl
./a.out ; display t.ppm
mv a.out.trace a.out.mesa-13.0.6.trace
# cd /build/mesa-17.2.7/; make install
echo > /var/log/messages
rm a.out t.ppm ; gcc gbm5.c -lgbm -lEGL -lGL -lGLU ; apitrace trace --api gl
./a.out ; display t.ppm
mv a.out.trace a.out.mesa-17.2.7.trace
# NOTE: nromally this shader runs for about 1 second (depends on GPU),
# but would never reach 10 seconds lockup timer defined in
drivers/gpu/drm/radeon/radeon_drv.c
# something changed in Mesa perhaps ?
# single source file at: https://github.com/narutocanada/smallpt-glsl

Dec 18 01:42:21 localhost kern.err kernel: [ 4272.087147] radeon :00:01.0:
ring 0 stalled for more than 10020msec
Dec 18 01:42:21 localhost kern.warn kernel: [ 4272.089575] radeon :00:01.0:
GPU lockup (current fence id 0x0019 last fence id
0x001a on ring 0)
Dec 18 01:42:22 localhost kern.err kernel: [ 4272.587921] radeon :00:01.0:
ring 0 stalled for more than 10521msec
Dec 18 01:42:22 localhost kern.warn kernel: [ 4272.590350] radeon :00:01.0:
GPU lockup (current fence id 0x0019 last fence id
0x001a on ring 0)

-- 
You are receiving this mail because:
You are the assignee for the bug.___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[ANNOUNCE] libdrm 2.4.89

2017-12-17 Thread Dave Airlie
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

libdrm release with leasing and syncobj api updates,
updated amdgpu marketing ids, amdgpu tests,
updated uapi headers
etnaviv updates.

Andrey Grodzovsky (10):
  amdgpu: Add functions to disable suites and tests.
  amdgpu: Use new suite/test disabling functionality.
  amdgpu: Move memory alloc tests in bo suite.
  amdgpu: Add memory over allocation test.
  amdgpu: Disable deadlock test suite for Vega 10
  amdgpu: Switch amdgpu CS tests enabling to the new way.
  amdgpu: Dynamicly disable BO suite "Metadata" test.
  amdgpu: Add explicit dependency test.
  amdgpu: Remove dummy CU_ASSERT_EQUAL.
  tests/amdgpu: Add return CUE_SUCCESS to suite_vcn_tests_clean.

Bas Nieuwenhuizen (2):
  drm: Add drmSyncobjReset & drmSyncobjSignal wrappers.
  amdgpu: Add syncobj reset & signal wrappers.

Christian Gmeiner (3):
  etnaviv: sync uapi header
  etnaviv: add permon support
  etnaviv: support performance monitor requests

Christian König (6):
  amdpgu: fix coding style in amdgpu_vamgr.c
  amdgpu: sanitize 64bit VA manager
  amdgpu: fix 32bit VA manager max address
  amdgpu: use the high VA range if possible
  Revert "amdgpu: use the high VA range if possible"
  Revert "amdgpu: fix 32bit VA manager max address"

Dave Airlie (1):
  configure.ac: bump version for release

David Mao (1):
  amdgpu: Adding amdgpu_cs_create_syncobj2 to create syncobj as signaled 
initially

Emil Velikov (1):
  freedreno: add the API fd_pipe_new2 to the symbol test

Eric Anholt (6):
  headers: Sync vc4 header from drm-next.
  headers: Sync up some header guard changes from drm-next.
  headers: Sync up some comment spelling and whitespace fixes from drm-next.
  headers: Sync up mga_drm.h from drm-next.
  headers: Sync up kernel changes to use kernel types instead of stdint.h.
  headers: Drop outdated node about a delta in drm_mode.h.

Inki Dae (1):
  exynos: change the license to X11/MIT

Keith Packard (2):
  drm: Add drm mode lease ioctl wrappers [v3]
  drm: Add CrtcGetSequence and CrtcQueueSequence IOCTLs [v2]

Lucas Stach (1):
  etnaviv: fix BO cache to properly work with different flags

Michel Dänzer (5):
  amdgpu: Add amdgpu_cs_create_syncobj2 to amdgpu-symbol-check
  amdgpu: Clean up amdgpu_parse_asic_ids error handling
  amdgpu: Simplify error handling in parse_one_line
  amdgpu: Only remember the device's marketing name
  amdgpu.ids: Refresh from AMD 17.40 release

Rob Clark (2):
  freedreno: sync uapi header (driver version 1.3.0)
  freedreno: submit-queue context priority

Rob Herring (1):
  Android: disable warnings causing errors

git tag: libdrm-2.4.89

https://dri.freedesktop.org/libdrm/libdrm-2.4.89.tar.bz2
MD5:  5307a147dde67ac643f6753a42b5d32c  libdrm-2.4.89.tar.bz2
SHA1: 43123da26271df9a29deb687c1855bef3fed249c  libdrm-2.4.89.tar.bz2
SHA256: 629f9782aabbb4809166de5f24d26fe0766055255038f16935602d89f136a02e  
libdrm-2.4.89.tar.bz2
SHA512: 
380e4e46cd3971a73264bd1b482791fab0503268adb65ac81b674df009662cfb8ef5741e362f19670b2a43b1c46f022d857706c9a4bebed2b1cddaa317b7706d
  libdrm-2.4.89.tar.bz2
PGP:  https://dri.freedesktop.org/libdrm/libdrm-2.4.89.tar.bz2.sig

https://dri.freedesktop.org/libdrm/libdrm-2.4.89.tar.gz
MD5:  4379fa4e3868feb5d5319c854a8280f8  libdrm-2.4.89.tar.gz
SHA1: fac3103d83d22dea1faf9a76dfe8e47579486a3d  libdrm-2.4.89.tar.gz
SHA256: c376b9ba0974700632939139397a12d4e3c93c31835a27dda855159441713e70  
libdrm-2.4.89.tar.gz
SHA512: 
96b4f15f60b3d130e7c2398e4666582e895d34daa2d315413bf3b2be86a34c96a7ee0bf967127a6f0da10499fce50cbc6aecb499811604b3a7153387cf8d1f42
  libdrm-2.4.89.tar.gz
PGP:  https://dri.freedesktop.org/libdrm/libdrm-2.4.89.tar.gz.sig

-BEGIN PGP SIGNATURE-

iQIcBAEBAgAGBQJaNxweAAoJEAx081l5xIa+dtIP/RrnEmuJCuax1jVaIG/tvnwq
0/NTxeXB6HZKmqgSDy9rlO4TtRvJD9awFQa1j520sN+xTwrCN1d0C88GZOmMnV0m
zK66K6EeNDobLcxPOBMjJEhyVI0X2o9Kt7kg0eC3O8ATbacNys1gvRLryQOJlqIe
V7BAu15E+PxZODSKFoeRzt0ECKLNEYjkIVeukl2QAnQ+b3LlF74Hc97+CKhaE6w0
K5JEBIXS3V1UDw+yAD489LFlmMEXX+G03X2zxpcjqkTL/gOfMWIXBS6DujMTEdQe
ej4ZGcBwYyiIWCMt65aFbn4ncCtEBTW7RdZb+NVzQWuuOld4HPdzp9GMGqtPD8D9
T4wiIPWqJQubFwRqvnFKKg98vBI/8Ly1OgKRnlEhSmb9PKT2m8WR1plnuGt6U9Df
y9Sxde6BLEb6KrYHpFpwJikb5bjjimmMHSYxPHEZpTU4EvON71RyPWGiR4baLpwO
ZWhJSoQ1DomEyBrHIJEPg74vCqbw7G1jaZrKKfmMeyDbpOG308jwTEdvgI/XbrlW
TL79dpy+ReYzj90WPn3w6ichkUVgdnfwCXW1GzeNQ1haG3xUIY1zaJQGQ5CDwemL
UQ663Tk0KtlP7z2NFnBrhlbW2wP5mxylFfIE8qb7F0nlSBwiZq7TPdDy1KE/C+0J
2koN++wDWqxEIv8h0ddA
=YSIy
-END PGP SIGNATURE-
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 104306] Mesa 17.3 breaks Firefox and other Xwayland apps on AMD HD7750

2017-12-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=104306

Bug ID: 104306
   Summary: Mesa 17.3 breaks Firefox and other Xwayland apps on
AMD HD7750
   Product: Mesa
   Version: 17.3
  Hardware: x86-64 (AMD64)
OS: Linux (All)
Status: NEW
  Severity: normal
  Priority: medium
 Component: Drivers/Gallium/radeonsi
  Assignee: dri-devel@lists.freedesktop.org
  Reporter: mesabu...@p33.org
QA Contact: dri-devel@lists.freedesktop.org

On latest stable Archlinux with AMD HD7750, Mesa 17.3 breaks Firefox,
Libreoffice, mpv with X11 backend and Chromium (when running WebGL).

Launching firefox or glxinfo from command line results in no response and no
crashes. There are no errors in dmesg or journalctl, except Probe failed with
amdkfd, but blacklisting amdkfd doesn't solve the issue. Using strace on
firefox there are system interrupted notices. Chromium works, but opening any
WebGL page freezes Chromium. mpv with X11 backend shows Bad Drawable, server
failed to allocate resource.

Downgrading to mesa 17.2.6 solves the issue.

-- 
You are receiving this mail because:
You are the assignee for the bug.___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 97055] Black screens on A10-8780P (Carrizo) + R7 M260/M265 (Topaz) Combo

2017-12-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=97055

--- Comment #21 from FFAB  ---

The black screen problem seems to be solved ->
https://bugs.freedesktop.org/show_bug.cgi?id=101483#c36

-- 
You are receiving this mail because:
You are the assignee for the bug.___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[trivial PATCH] treewide: Align function definition open/close braces

2017-12-17 Thread Joe Perches
Some functions definitions have either the initial open brace and/or
the closing brace outside of column 1.

Move those braces to column 1.

This allows various function analyzers like gnu complexity to work
properly for these modified functions.

Miscellanea:

o Remove extra trailing ; and blank line from xfs_agf_verify

Signed-off-by: Joe Perches 
---
git diff -w shows no difference other than the above 'Miscellanea'

(this is against -next, but it applies against Linus' tree
 with a couple offsets)

 arch/x86/include/asm/atomic64_32.h   |  2 +-
 drivers/acpi/custom_method.c |  2 +-
 drivers/acpi/fan.c   |  2 +-
 drivers/gpu/drm/amd/display/dc/core/dc.c |  2 +-
 drivers/media/i2c/msp3400-kthreads.c |  2 +-
 drivers/message/fusion/mptsas.c  |  2 +-
 drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c |  2 +-
 drivers/net/wireless/ath/ath9k/xmit.c|  2 +-
 drivers/platform/x86/eeepc-laptop.c  |  2 +-
 drivers/rtc/rtc-ab-b5ze-s3.c |  2 +-
 drivers/scsi/dpt_i2o.c   |  2 +-
 drivers/scsi/sym53c8xx_2/sym_glue.c  |  2 +-
 fs/locks.c   |  2 +-
 fs/ocfs2/stack_user.c|  2 +-
 fs/xfs/libxfs/xfs_alloc.c|  5 ++---
 fs/xfs/xfs_export.c  |  2 +-
 kernel/audit.c   |  6 +++---
 kernel/trace/trace_printk.c  |  4 ++--
 lib/raid6/sse2.c | 14 +++---
 sound/soc/fsl/fsl_dma.c  |  2 +-
 20 files changed, 30 insertions(+), 31 deletions(-)

diff --git a/arch/x86/include/asm/atomic64_32.h 
b/arch/x86/include/asm/atomic64_32.h
index 97c46b8169b7..d4d4883080fa 100644
--- a/arch/x86/include/asm/atomic64_32.h
+++ b/arch/x86/include/asm/atomic64_32.h
@@ -122,7 +122,7 @@ static inline long long atomic64_read(const atomic64_t *v)
long long r;
alternative_atomic64(read, "=" (r), "c" (v) : "memory");
return r;
- }
+}
 
 /**
  * atomic64_add_return - add and return
diff --git a/drivers/acpi/custom_method.c b/drivers/acpi/custom_method.c
index c68e72414a67..e967c1173ba3 100644
--- a/drivers/acpi/custom_method.c
+++ b/drivers/acpi/custom_method.c
@@ -94,7 +94,7 @@ static void __exit acpi_custom_method_exit(void)
 {
if (cm_dentry)
debugfs_remove(cm_dentry);
- }
+}
 
 module_init(acpi_custom_method_init);
 module_exit(acpi_custom_method_exit);
diff --git a/drivers/acpi/fan.c b/drivers/acpi/fan.c
index 6cf4988206f2..3563103590c6 100644
--- a/drivers/acpi/fan.c
+++ b/drivers/acpi/fan.c
@@ -219,7 +219,7 @@ fan_set_cur_state(struct thermal_cooling_device *cdev, 
unsigned long state)
return fan_set_state_acpi4(device, state);
else
return fan_set_state(device, state);
- }
+}
 
 static const struct thermal_cooling_device_ops fan_cooling_ops = {
.get_max_state = fan_get_max_state,
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c 
b/drivers/gpu/drm/amd/display/dc/core/dc.c
index d1488d5ee028..1e0d1e7c5324 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -461,7 +461,7 @@ static void disable_dangling_plane(struct dc *dc, struct 
dc_state *context)
  
**/
 
 struct dc *dc_create(const struct dc_init_data *init_params)
- {
+{
struct dc *dc = kzalloc(sizeof(*dc), GFP_KERNEL);
unsigned int full_pipe_count;
 
diff --git a/drivers/media/i2c/msp3400-kthreads.c 
b/drivers/media/i2c/msp3400-kthreads.c
index 4dd01e9f553b..dc6cb8d475b3 100644
--- a/drivers/media/i2c/msp3400-kthreads.c
+++ b/drivers/media/i2c/msp3400-kthreads.c
@@ -885,7 +885,7 @@ static int msp34xxg_modus(struct i2c_client *client)
 }
 
 static void msp34xxg_set_source(struct i2c_client *client, u16 reg, int in)
- {
+{
struct msp_state *state = to_state(i2c_get_clientdata(client));
int source, matrix;
 
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c
index 345f6035599e..69a62d23514b 100644
--- a/drivers/message/fusion/mptsas.c
+++ b/drivers/message/fusion/mptsas.c
@@ -2968,7 +2968,7 @@ mptsas_exp_repmanufacture_info(MPT_ADAPTER *ioc,
mutex_unlock(>sas_mgmt.mutex);
 out:
return ret;
- }
+}
 
 static void
 mptsas_parse_device_info(struct sas_identify *identify,
diff --git a/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c 
b/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
index 3dd973475125..0ea141ece19e 100644
--- a/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
+++ b/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c
@@ -603,7 +603,7 @@ static struct uni_table_desc 

drm/ast: Linux 4.14 AST DRM driver might not load gamma table [patch proposed]

2017-12-17 Thread Carroll, Lewis
Happy Holidays.

Test-driving Linux 4.14 from the Ubuntu Bionic repo on an AMD EPYC server using 
the A-Speed AST2500 BMC and the AST DRM driver and framebuffer console 
configured into the kernel, I have observed multiple systems where the analog 
VGA color palette for the framebuffer console is incorrect. Background is blue 
and all text colors other than white / gray are incorrect.

Instrumenting the AST DRM driver, it seems the default gamma table isn't loaded 
to the silicon until there is a DPMS action. When there is a DPMS action other 
than DPMS OFF, the gamma table is loaded and all is well. On these boards, the 
kernel is not calling for a DPMS event at driver init so the gamma table is not 
loaded.

The attached proposed patch adds a DPMS ON event to the commit callback after a 
kernel modeset call. This solves the problem, however there may be a better / 
more proper way to solve this.

Assuming no one on the mailing list has hardware on which to verify this, I am 
happy to be a test driver for any suggested fixes.

Regards,

Lewis Carroll
Principal Solutions Architect
AMD Enterprise Business Group



Linux_4.14_drm_ast_fix_corrupted_gamma.patch
Description: Linux_4.14_drm_ast_fix_corrupted_gamma.patch
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 104205] displayport connected monitor doesn't initialize display

2017-12-17 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=104205

--- Comment #4 from Bret Towe  ---
4.15-rc3 still has the problem

-- 
You are receiving this mail because:
You are the assignee for the bug.___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH 04/45] gpu: drm: remove duplicate includes

2017-12-17 Thread Pravin Shedge
These duplicate includes have been found with scripts/checkincludes.pl but
they have been removed manually to avoid removing false positives.

Signed-off-by: Pravin Shedge 
---
 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 1 -
 drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c | 1 -
 drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 1 -
 drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c  | 1 -
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 ---
 drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c | 1 -
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 1 -
 drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c   | 1 -
 drivers/gpu/drm/amd/powerplay/smumgr/rv_smumgr.c  | 1 -
 drivers/gpu/drm/bridge/panel.c| 1 -
 drivers/gpu/drm/drm_drv.c | 1 -
 drivers/gpu/drm/i915/intel_dsi_vbt.c  | 1 -
 drivers/gpu/drm/nouveau/nvkm/subdev/bus/nv04.c| 2 --
 drivers/gpu/drm/panel/panel-raspberrypi-touchscreen.c | 1 -
 14 files changed, 17 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c 
b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
index 9ecdf62..7fd0599 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
@@ -44,7 +44,6 @@
 #include "gca/gfx_8_0_d.h"
 #include "gca/gfx_8_0_enum.h"
 #include "gca/gfx_8_0_sh_mask.h"
-#include "gca/gfx_8_0_enum.h"
 
 #include "dce/dce_10_0_d.h"
 #include "dce/dce_10_0_sh_mask.h"
diff --git a/drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c 
b/drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c
index c25a831..aad4134 100644
--- a/drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c
+++ b/drivers/gpu/drm/amd/amdgpu/mxgpu_vi.c
@@ -37,7 +37,6 @@
 #include "gmc/gmc_8_2_sh_mask.h"
 #include "oss/oss_3_0_d.h"
 #include "oss/oss_3_0_sh_mask.h"
-#include "gca/gfx_8_0_sh_mask.h"
 #include "dce/dce_10_0_d.h"
 #include "dce/dce_10_0_sh_mask.h"
 #include "smu/smu_7_1_3_d.h"
diff --git a/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c 
b/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c
index cf81065..b526623 100644
--- a/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/vce_v3_0.c
@@ -34,7 +34,6 @@
 #include "vce/vce_3_0_sh_mask.h"
 #include "oss/oss_3_0_d.h"
 #include "oss/oss_3_0_sh_mask.h"
-#include "gca/gfx_8_0_d.h"
 #include "smu/smu_7_1_2_d.h"
 #include "smu/smu_7_1_2_sh_mask.h"
 #include "gca/gfx_8_0_d.h"
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c
index 2fbce57..8266a3f 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c
@@ -24,7 +24,6 @@
 #include "kfd_device_queue_manager.h"
 #include "gca/gfx_8_0_enum.h"
 #include "gca/gfx_8_0_sh_mask.h"
-#include "gca/gfx_8_0_enum.h"
 #include "oss/oss_3_0_sh_mask.h"
 
 static bool set_cache_memory_policy_vi(struct device_queue_manager *dqm,
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c 
b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index f71fe6d..b825dcb 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -23,7 +23,6 @@
  *
  */
 
-#include "dm_services_types.h"
 #include "dc.h"
 #include "dc/inc/core_types.h"
 
@@ -66,8 +65,6 @@
 #include "soc15_common.h"
 #endif
 
-#include "modules/inc/mod_freesync.h"
-
 #include "i2caux_interface.h"
 
 /* basic init/fini API */
diff --git a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c 
b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
index 9c18efd..3f55dbc 100644
--- a/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
@@ -40,7 +40,6 @@
 #include "dce/dce_mem_input.h"
 #include "dce/dce_link_encoder.h"
 #include "dce/dce_stream_encoder.h"
-#include "dce/dce_mem_input.h"
 #include "dce/dce_ipp.h"
 #include "dce/dce_transform.h"
 #include "dce/dce_opp.h"
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c 
b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
index 961ad5c..8d5d4c2 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
@@ -39,7 +39,6 @@
 #include "ipp.h"
 #include "mpc.h"
 #include "reg_helper.h"
-#include "custom_float.h"
 #include "dcn10_hubp.h"
 
 #define CTX \
diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c 
b/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c
index bd6be77..ebbe8a1 100644
--- a/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c
+++ b/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c
@@ -44,7 +44,6 @@
 
 #include "smu7_hwmgr.h"
 #include "hardwaremanager.h"
-#include "ppatomctrl.h"
 #include "atombios.h"
 #include "pppcielanes.h"
 
diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/rv_smumgr.c 

Re: [PATCH] 4.15 vmgfx boot warning

2017-12-17 Thread Woody Suwalski

Sinclair Yeh wrote:

Hi Woody,

On Wed, Nov 22, 2017 at 04:05:50PM -0500, Woody Suwalski wrote:

The 4.15 vmwgfx driver shows a warning during boot (32 bit x86)
It is caused by a mismatch between the result of vmw_enable_vblank() and
what the drm_atomic_helper expects:
    /...
    ret = drm_crtc_vblank_get(crtc);
    WARN_ONCE(ret != -EINVAL, "driver forgot to call
drm_crtc_vblank_off()\n");

This doesn't apply to us because we don't have vblank support, and so
-ENOSYS seems to be the right error.

In the commit message for 84014b0a39ee, it does state a check for this
condition, but the check itself is based on dev->irq_enabled.

Is there another way to check for vblank support?




    /...

Signed-off by: Woody Suwalski 

--- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c    2017-11-22 15:29:46.511674079
-0500
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c    2017-11-22 15:30:35.344559592
-0500
@@ -1869,7 +1869,7 @@ u32 vmw_get_vblank_counter(struct drm_de
   */
  int vmw_enable_vblank(struct drm_device *dev, unsigned int pipe)
  {
-    return -ENOSYS;
+    return -EINVAL;
  }

  /**


Sinclair, it is a valid stand, so I guess it is time to ask Daniel...

Would it be OK to convert the WARN_ONCE statement in drm_atomic_helper 
to recognize ENOSYS as a valid error? Something like


WARN_ONCE((ret != -EINVAL && ret != _ENOSYS), "driver forgot to call 
drm_crtc_vblank_off()\n");


Thanks, Woody

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH] Drivers: gpu: drm: amdgpu: fixed coding style issues

2017-12-17 Thread Bouke Haarsma
From e243a807fe45b8ac4dc9c5e54956ccdd3bd806a1 Mon Sep 17 00:00:00 2001
From: Bouke Haarsma 
Date: Sun, 17 Dec 2017 14:17:09 +0100
Subject: [PATCH] Drivers: gpu: drm: amdgpu: fixed coding style issues

Fixed coding style issues.
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c  |  3 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c |  6 +--
 drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c | 12 +++--
 drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c  | 68 
 drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c   | 37 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c   |  9 ++--
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c   | 15 +++---
 8 files changed, 84 insertions(+), 68 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c
index c04f44a90392..8706792ee826 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c
@@ -587,8 +587,7 @@ static const struct amd_ip_funcs acp_ip_funcs = {
.set_powergating_state = acp_set_powergating_state,
 };
 
-const struct amdgpu_ip_block_version acp_ip_block =
-{
+const struct amdgpu_ip_block_version acp_ip_block = {
.type = AMD_IP_BLOCK_TYPE_ACP,
.major = 2,
.minor = 2,
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
index f450b69323fa..695e2d0199e7 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c
@@ -206,7 +206,7 @@ amdgpu_atombios_get_hpd_info_from_gpio(struct amdgpu_device 
*adev,
 
hpd.gpio = *gpio;
if (gpio->reg == reg) {
-   switch(gpio->mask) {
+   switch (gpio->mask) {
case (1 << 0):
hpd.hpd = AMDGPU_HPD_1;
break;
@@ -398,7 +398,7 @@ bool 
amdgpu_atombios_get_connector_info_from_object_table(struct amdgpu_device *
   
record->ucRecordType <= ATOM_MAX_OBJECT_RECORD_NUMBER) {
switch 
(record->ucRecordType) {
case 
ATOM_ENCODER_CAP_RECORD_TYPE:
-   
cap_record =(ATOM_ENCODER_CAP_RECORD *)
+   
cap_record = (ATOM_ENCODER_CAP_RECORD *)

record;
caps = 
le16_to_cpu(cap_record->usEncoderCap);
break;
@@ -1415,7 +1415,7 @@ static ATOM_VOLTAGE_OBJECT_V3 
*amdgpu_atombios_lookup_voltage_object_v3(ATOM_VOL
 {
u32 size = le16_to_cpu(v3->sHeader.usStructureSize);
u32 offset = offsetof(ATOM_VOLTAGE_OBJECT_INFO_V3_1, asVoltageObj[0]);
-   u8 *start = (u8*)v3;
+   u8 *start = (u8 *)v3;
 
while (offset < size) {
ATOM_VOLTAGE_OBJECT_V3 *vo = (ATOM_VOLTAGE_OBJECT_V3 *)(start + 
offset);
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
index ff8efd0f8fd5..18eccf8c5bcc 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c
@@ -71,7 +71,7 @@ int amdgpu_atomfirmware_allocate_fb_scratch(struct 
amdgpu_device *adev)
struct atom_context *ctx = adev->mode_info.atom_context;
int index = 
get_index_into_master_table(atom_master_list_of_data_tables_v2_1,
vram_usagebyfirmware);
-   struct vram_usagebyfirmware_v2_1 *  firmware_usage;
+   struct vram_usagebyfirmware_v2_1 *firmware_usage;
uint32_t start_addr, size;
uint16_t data_offset;
int usage_bytes = 0;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
index c13c51af0b68..7e9f19b3e7f1 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_atpx_handler.c
@@ -63,19 +63,23 @@ struct atpx_mux {
u16 mux;
 } __packed;
 
-bool amdgpu_has_atpx(void) {
+bool amdgpu_has_atpx(void)
+{
return amdgpu_atpx_priv.atpx_detected;
 }
 
-bool amdgpu_has_atpx_dgpu_power_cntl(void) {
+bool amdgpu_has_atpx_dgpu_power_cntl(void)
+{
return amdgpu_atpx_priv.atpx.functions.power_cntl;
 }
 
-bool amdgpu_is_atpx_hybrid(void) {
+bool amdgpu_is_atpx_hybrid(void)
+{
return amdgpu_atpx_priv.atpx.is_hybrid;
 }
 
-bool amdgpu_atpx_dgpu_req_power_for_displays(void) {
+bool amdgpu_atpx_dgpu_req_power_for_displays(void)
+{
return 

Re: [PATCH] drm/tegra: mark t186 display hub PM functions __maybe_unused

2017-12-17 Thread Dmitry Osipenko
On 15.12.2017 16:33, Thierry Reding wrote:
> On Fri, Dec 15, 2017 at 01:51:52PM +0100, Arnd Bergmann wrote:
>> The newly introduced driver has optional suspend/resume functions,
>> causing a warning when CONFIG_PM is disabled:
>>
>> drivers/gpu/drm/tegra/hub.c:749:12: error: 'tegra_display_hub_resume' 
>> defined but not used [-Werror=unused-function]
>> drivers/gpu/drm/tegra/hub.c:733:12: error: 'tegra_display_hub_suspend' 
>> defined but not used [-Werror=unused-function]
>>
>> This marks them __maybe_unused to shut up the warnings.
>>
>> Fixes: c4755fb9064f ("drm/tegra: Add Tegra186 display hub support")
>> Signed-off-by: Arnd Bergmann 
>> ---
>>  drivers/gpu/drm/tegra/hub.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> We had touched on this topic in a different thread. The Tegra DRM driver
> currently relies on runtime PM to work properly. I don't see a reason to
> not make that official by adding a select PM to menuconfig ARCH_TEGRA on
> 32-bit ARM just like we already do on 64-bit ARM.

Since you've repeated the third time that you 'don't see a reason', I'll take it
as NAK for my patch that made drm/tegra to work with the disabled PM and drop
it. Next time please state it clearly if you oppose to something strongly. 
Thanks.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH] dt-bindings: display: panel: Fix compatible string for Toshiba LT089AC29000

2017-12-17 Thread Jonathan Neuschäfer
The compatible string for this panel was specified as
toshiba,lt089ac29000.txt. I believe this is a mistake.

Fixes: 06e733e41f87 ("drm/panel: simple: add Toshiba LT089AC19000")
Cc: Lucas Stach 
Signed-off-by: Jonathan Neuschäfer 
---
 .../devicetree/bindings/display/panel/toshiba,lt089ac29000.txt  | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/Documentation/devicetree/bindings/display/panel/toshiba,lt089ac29000.txt 
b/Documentation/devicetree/bindings/display/panel/toshiba,lt089ac29000.txt
index 4c0caaf246c9..89826116628c 100644
--- a/Documentation/devicetree/bindings/display/panel/toshiba,lt089ac29000.txt
+++ b/Documentation/devicetree/bindings/display/panel/toshiba,lt089ac29000.txt
@@ -1,7 +1,7 @@
 Toshiba 8.9" WXGA (1280x768) TFT LCD panel
 
 Required properties:
-- compatible: should be "toshiba,lt089ac29000.txt"
+- compatible: should be "toshiba,lt089ac29000"
 - power-supply: as specified in the base binding
 
 This binding is compatible with the simple-panel binding, which is specified
-- 
2.15.0

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH v2] x86/gpu: add CFL to early quirks

2017-12-17 Thread Ingo Molnar

* Lucas De Marchi  wrote:

> CFL was missing from intel_early_ids[]. The PCI ID needs to be there to
> allow the memory region to be stolen, otherwise we could have RAM being
> arbitrarily overwritten if for example we keep using the UEFI framebuffer,
> depending on how BIOS has set up the e820 map.
> 
> Fixes: b056f8f3d6b9 ("drm/i915/cfl: Add Coffee Lake PCI IDs for S Skus.")
> Signed-off-by: Lucas De Marchi 
> Cc: Rodrigo Vivi 
> Cc: Anusha Srivatsa 
> Cc: Jani Nikula 
> Cc: Joonas Lahtinen 
> Cc: David Airlie 
> Cc: intel-...@lists.freedesktop.org
> Cc: dri-devel@lists.freedesktop.org
> Cc: Ingo Molnar 
> Cc: H. Peter Anvin 
> Cc: Thomas Gleixner 
> Cc: x...@kernel.org
> Cc:  # v4.13+ 0890540e21cf drm/i915: add GT number to 
> intel_device_info
> Cc:  # v4.13+ 41693fd52373 drm/i915/kbl: Change a KBL 
> pci id to GT2 from GT1.5
> Cc:  # v4.13+
> Reviewed-by: Rodrigo Vivi 
> ---
> 
> v2: improve commit message, add Fixes tag and CC stable
> 
>  arch/x86/kernel/early-quirks.c | 1 +
>  include/drm/i915_pciids.h  | 6 ++
>  2 files changed, 7 insertions(+)

Acked-by: Ingo Molnar 

Thanks,

Ingo
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[PATCH] staging: android: ion: Fix dma direction for dma_sync_sg_for_cpu/device

2017-12-17 Thread Sushmita Susheelendra
Use the direction argument passed into begin_cpu_access
and end_cpu_access when calling the dma_sync_sg_for_cpu/device.
The actual cache primitive called depends on the direction
passed in.

Signed-off-by: Sushmita Susheelendra 
---
 drivers/staging/android/ion/ion.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/android/ion/ion.c 
b/drivers/staging/android/ion/ion.c
index a7d9b0e..f480885 100644
--- a/drivers/staging/android/ion/ion.c
+++ b/drivers/staging/android/ion/ion.c
@@ -346,7 +346,7 @@ static int ion_dma_buf_begin_cpu_access(struct dma_buf 
*dmabuf,
mutex_lock(>lock);
list_for_each_entry(a, >attachments, list) {
dma_sync_sg_for_cpu(a->dev, a->table->sgl, a->table->nents,
-   DMA_BIDIRECTIONAL);
+   direction);
}
mutex_unlock(>lock);
 
@@ -368,7 +368,7 @@ static int ion_dma_buf_end_cpu_access(struct dma_buf 
*dmabuf,
mutex_lock(>lock);
list_for_each_entry(a, >attachments, list) {
dma_sync_sg_for_device(a->dev, a->table->sgl, a->table->nents,
-  DMA_BIDIRECTIONAL);
+  direction);
}
mutex_unlock(>lock);
 
-- 
1.9.1

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH 1/3] drm/ttm: use try_lock in ttm_bo_delayed_delete again

2017-12-17 Thread Thomas Hellstrom

This series,

Reviewed-by: Thomas Hellstrom 




On 12/15/2017 07:31 PM, Christian König wrote:

We only need to wait for the contended lock when the reservation object is
shared or when we want to remove everything. A trylock should be sufficient
in all other cases.

Signed-off-by: Christian König 
---
  drivers/gpu/drm/ttm/ttm_bo.c | 13 +
  1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
index ba5b48617bba..122a964cac40 100644
--- a/drivers/gpu/drm/ttm/ttm_bo.c
+++ b/drivers/gpu/drm/ttm/ttm_bo.c
@@ -586,12 +586,17 @@ static bool ttm_bo_delayed_delete(struct ttm_bo_device 
*bdev, bool remove_all)
  ddestroy);
kref_get(>list_kref);
list_move_tail(>ddestroy, );
-   spin_unlock(>lru_lock);
  
-		reservation_object_lock(bo->resv, NULL);

+   if (remove_all || bo->resv != >ttm_resv) {
+   spin_unlock(>lru_lock);
+   reservation_object_lock(bo->resv, NULL);
  
-		spin_lock(>lru_lock);

-   ttm_bo_cleanup_refs(bo, false, !remove_all, true);
+   spin_lock(>lru_lock);
+   ttm_bo_cleanup_refs(bo, false, !remove_all, true);
+
+   } else if (reservation_object_trylock(bo->resv)) {
+   ttm_bo_cleanup_refs(bo, false, !remove_all, true);
+   }
  
  		kref_put(>list_kref, ttm_bo_release_list);

spin_lock(>lru_lock);



___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel