[PATCH v2 2/5] video: smscufx: Less checks in ufx_usb_probe() after error detection

2017-11-25 Thread SF Markus Elfring
From: Markus Elfring 
Date: Sun, 26 Nov 2017 08:18:20 +0100

Up to four checks could be repeated by the ufx_usb_probe() function
during error handling even if the relevant properties can be determined
for the involved variables before by source code analysis.

* Return directly after a call of the function "kzalloc" failed
  at the beginning.

* Adjust jump targets so that extra checks can be omitted at the end.

* Delete initialisations for the variables "info" and "retval"
  which became unnecessary with this refactoring.

Signed-off-by: Markus Elfring 
---

v2:
A call of the function "fb_dealloc_cmap" was preserved for the exception
handling at the end.

 drivers/video/fbdev/smscufx.c | 46 ++-
 1 file changed, 19 insertions(+), 27 deletions(-)

diff --git a/drivers/video/fbdev/smscufx.c b/drivers/video/fbdev/smscufx.c
index 32de07d77184..a48a2dec3f5e 100644
--- a/drivers/video/fbdev/smscufx.c
+++ b/drivers/video/fbdev/smscufx.c
@@ -1619,8 +1619,8 @@ static int ufx_usb_probe(struct usb_interface *interface,
 {
struct usb_device *usbdev;
struct ufx_data *dev;
-   struct fb_info *info = NULL;
-   int retval = -ENOMEM;
+   struct fb_info *info;
+   int retval;
u32 id_rev, fpga_rev;
 
/* usb initialization */
@@ -1629,7 +1629,7 @@ static int ufx_usb_probe(struct usb_interface *interface,
 
dev = kzalloc(sizeof(*dev), GFP_KERNEL);
if (!dev)
-   goto error;
+   return -ENOMEM;
 
/* we need to wait for both usb and fbdev to spin down on disconnect */
kref_init(>kref); /* matching kref_put in usb .disconnect fn */
@@ -1649,9 +1649,8 @@ static int ufx_usb_probe(struct usb_interface *interface,
dev_dbg(dev->gdev, "fb_defio enable=%d\n", fb_defio);
 
if (!ufx_alloc_urb_list(dev, WRITES_IN_FLIGHT, MAX_TRANSFER)) {
-   retval = -ENOMEM;
dev_err(dev->gdev, "ufx_alloc_urb_list failed\n");
-   goto error;
+   goto e_nomem;
}
 
/* We don't register a new USB class. Our client interface is fbdev */
@@ -1659,9 +1658,8 @@ static int ufx_usb_probe(struct usb_interface *interface,
/* allocates framebuffer driver structure, not framebuffer memory */
info = framebuffer_alloc(0, >dev);
if (!info) {
-   retval = -ENOMEM;
dev_err(dev->gdev, "framebuffer_alloc failed\n");
-   goto error;
+   goto e_nomem;
}
 
dev->info = info;
@@ -1672,7 +1670,7 @@ static int ufx_usb_probe(struct usb_interface *interface,
retval = fb_alloc_cmap(>cmap, 256, 0);
if (retval < 0) {
dev_err(dev->gdev, "fb_alloc_cmap failed %x\n", retval);
-   goto error;
+   goto destroy_modedb;
}
 
INIT_DELAYED_WORK(>free_framebuffer_work,
@@ -1733,26 +1731,20 @@ static int ufx_usb_probe(struct usb_interface 
*interface,
return 0;
 
 error:
-   if (dev) {
-   if (info) {
-   if (info->cmap.len != 0)
-   fb_dealloc_cmap(>cmap);
-   if (info->monspecs.modedb)
-   fb_destroy_modedb(info->monspecs.modedb);
-   vfree(info->screen_base);
-
-   fb_destroy_modelist(>modelist);
-
-   framebuffer_release(info);
-   }
-
-   kref_put(>kref, ufx_free); /* ref for framebuffer */
-   kref_put(>kref, ufx_free); /* last ref from kref_init */
-
-   /* dev has been deallocated. Do not dereference */
-   }
-
+   fb_dealloc_cmap(>cmap);
+destroy_modedb:
+   fb_destroy_modedb(info->monspecs.modedb);
+   vfree(info->screen_base);
+   fb_destroy_modelist(>modelist);
+   framebuffer_release(info);
+put_ref:
+   kref_put(>kref, ufx_free); /* ref for framebuffer */
+   kref_put(>kref, ufx_free); /* last ref from kref_init */
return retval;
+
+e_nomem:
+   retval = -ENOMEM;
+   goto put_ref;
 }
 
 static void ufx_usb_disconnect(struct usb_interface *interface)
-- 
2.15.0

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


[lib/rbtree,drm/mm] 653c9f9a4d: BUG:kernel_hang_in_boot_stage

2017-11-25 Thread Fengguang Wu
FYI, we noticed the following commit (built with gcc-5):

commit: 653c9f9a4dd8037ffc5afbb1040d15566aa8f533 ("lib/rbtree,drm/mm: Add 
rbtree_replace_node_cached()")
git://anongit.freedesktop.org/drm-intel topic/core-for-CI

in testcase: boot

on test machine: qemu-system-i386 -enable-kvm -smp 2 -m 320M

caused below changes (please refer to attached dmesg/kmsg for entire 
log/backtrace):

++++
|| 70c1cedd5c | 653c9f9a4d |
++++
| boot_successes | 0  | 0  |
| boot_failures  | 8  | 8  |
| genirq:Flags_mismatch_irq##(ttyS0)vs.#(sir_ir) | 7  | 4  |
| BUG:soft_lockup-CPU##stuck_for#s   | 1  ||
| EIP:insert_augmented   | 1  ||
| Kernel_panic-not_syncing:softlockup:hung_tasks | 1  ||
| BUG:kernel_hang_in_boot_stage  | 0  | 4  |
++++


 [   77.806701] Linux agpgart interface v0.103
 [   77.825237] Hangcheck: starting hangcheck timer 0.9.1 (tick is 180 
seconds, margin is 60 seconds).
 [   77.860502] drm_mm: Testing DRM range manger (struct drm_mm), with 
random_seed=0xbac20086 max_iterations=8192 max_prime=128
 [   77.898934] drm_mm: igt_sanitycheck - ok!
 [  328.297497] kworker/dying (33) used greatest stack depth: 7396 
bytes left
 BUG: kernel hang in boot stage

 Elapsed time: 440

To reproduce:

 git clone https://github.com/intel/lkp-tests.git
 cd lkp-tests
 bin/lkp qemu -k  job-script  # job-script is attached in this 
email

Thanks,
Fengguang
#
# Automatically generated file; DO NOT EDIT.
# Linux/i386 4.14.0 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_BITS_MAX=16
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=3
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y

#
# General setup
#
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
# CONFIG_KERNEL_GZIP is not set
CONFIG_KERNEL_BZIP2=y
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
# CONFIG_SYSVIPC is not set
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_CROSS_MEMORY_ATTACH is not set
CONFIG_FHANDLE=y
# CONFIG_USELIB is not set
# CONFIG_AUDIT is not set
CONFIG_HAVE_ARCH_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_SIM=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_DEBUG=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y

#
# Timers subsystem
#
CONFIG_HZ_PERIODIC=y
# CONFIG_NO_HZ_IDLE is not set
CONFIG_NO_HZ=y
# CONFIG_HIGH_RES_TIMERS is not set

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
# CONFIG_TASKSTATS is not set

#
# RCU Subsystem
#
CONFIG_TINY_RCU=y
# 

[Bug 101739] An issue with alpha-to-coverage handling is causing Arma 3 64-bit Linux port to render trees incorrectly

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=101739

--- Comment #3 from Roland Scheidegger  ---
(In reply to Jan from comment #2)
> I also have this problem. Is there a way to force/override Z_ORDER to
> LATE_Z, at best per application, so that I can try whether this has any
> effect?
> If not: what other way is there to test it? I am willing to e.g. patch,
> compile and test some code if somebody tells me what to do, no promise when
> I'll find the time for that though.

You can't override that, you'd need a mesa patch looking something like this:
diff --git a/src/gallium/drivers/radeonsi/si_state.c
b/src/gallium/drivers/radeonsi/si_state.c
index fcf4928e65..13e44dac16 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -1417,6 +1417,11 @@ static void si_emit_db_render_state(struct si_context
*sctx, struct r600_atom *s
db_shader_control |= S_02880C_Z_ORDER(V_02880C_LATE_Z);
}

+   if (sctx->queued.named.blend->alpha_to_coverage) {
+   db_shader_control &= C_02880C_Z_ORDER;
+   db_shader_control |= S_02880C_Z_ORDER(V_02880C_LATE_Z);
+   }
+

Albeit probably would need to add a blend dependency like this too:
@@ -658,6 +658,10 @@ static void si_bind_blend_state(struct pipe_context *ctx,
void *state)
 old_blend->dual_src_blend != blend->dual_src_blend)
si_mark_atom_dirty(sctx, >cb_render_state);

+   if (!old_blend ||
+old_blend->alpha_to_coverage != blend->alpha_to_coverage)
+   si_mark_atom_dirty(sctx, >db_render_state);
+
si_pm4_bind_state(sctx, blend, state);

if (!old_blend ||

But as said, I really don't have much knowledge of the driver.

-- 
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 103907] [gfx9/Vega] Arma 3 crashes on 17.3.0-rc5 but works on master

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103907

Vedran Miletić  changed:

   What|Removed |Added

 Blocks||77449


Referenced Bugs:

https://bugs.freedesktop.org/show_bug.cgi?id=77449
[Bug 77449] Tracker bug for all bugs related to Steam titles
-- 
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 103907] [gfx9/Vega] Arma 3 crashes on 17.3.0-rc5 but works on master

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103907

Bug ID: 103907
   Summary: [gfx9/Vega] Arma 3 crashes on 17.3.0-rc5 but works on
master
   Product: Mesa
   Version: 17.3
  Hardware: Other
OS: All
Status: NEW
  Severity: normal
  Priority: medium
 Component: Drivers/Gallium/radeonsi
  Assignee: dri-devel@lists.freedesktop.org
  Reporter: ved...@miletic.net
QA Contact: dri-devel@lists.freedesktop.org

Fedora rawhide, kernel 4.15, drm 2.4.88, llvm 5.0.0, mesa 17.3.0-rc3 and rc5
result in:

System Information:
OS Version:
Linux Distribution: Fedora 28 (Workstation Edition)
Kernel Version: 4.15.0-0.rc0.git7.2.fc28.x86_64 #1 SMP Fri Nov
24 07:59:50 CET 2017

Hardware Info:
Machine TypeMSI MS-7971 1.0
CPU TypeGenuineIntel x86_64
CPU InfoIntel(R) Core(TM) i5-6600 CPU @ 3.30GHz
CPU Speed   3900 MHz
CPU Physical Cores  4
CPU Logical Cores   4
Physical Memory 32896944 KiB
Virtual Memory  34603004 KiB

Crash Dump:
4abb0075-a250-1a17-2be16a60-4ed33a82.dmp (520016 bytes)

Application Log:
[thread ][I][0]: Log system initialised
[thread ][I][57]: eON_Core::init() - libICU initialised with result 0.
[thread ][I][57]: Default allowed number of simultaneously open files
in the system is 2448.
[thread ][I][57]: Current memlock limit is 16777216.
[thread ][I][57]: setrlimit(RLIMIT_MEMLOCK) failed, (1) Operation not
permitted
[thread 0001][I][58]: Linux kernel version: 4.15.0-0.rc0.git7.2.fc28.x86_64
[thread 0001][I][58]: Linux glibc version: 2.26.9000
[thread 0001][I][59]: Forcing OpenGL Core context usage
[thread 0001][I][61]: OpenGL Core context version 4.5 detected
[thread 0001][I][74]: OpenGL information:
[thread 0001][I][74]: renderer: AMD VEGA10 (DRM 3.23.0 /
4.15.0-0.rc0.git7.2.fc28.x86_64, LLVM 5.0.0)
[thread 0001][I][74]: vendor: X.Org
[thread 0001][I][74]: version: 4.5 (Core Profile) Mesa 17.3.0-rc5
(git-d1e6cf4639)
[thread 0001][I][74]: GLSL version: 4.50
[thread 0001][I][74]: Max surface size: 16384
[thread 0001][I][74]: Supported and usable:
texture_mirror_clamp_to_edge: yes
[thread 0001][I][74]: Supported and usable: texture_storage: yes
[thread 0001][I][74]: Supported and usable: copy_image: yes
[thread 0001][I][74]: Supported and usable:
texture_storage_multisample: yes
[thread 0001][I][74]: Supported and usable: texture_view: yes
[thread 0001][I][74]: Supported and usable: ATI_separate_stencil: yes
[thread 0001][I][74]: Supported and usable: EXT_stencil_two_side: no
[thread 0001][I][74]: Supported and usable: texture_filter_anisotropic:
yes
[thread 0001][I][74]: Supported and usable: explicit_attrib_location:
yes
[thread 0001][I][74]: Supported and usable: compressed 3D textures
(VTC): no
[thread 0001][I][74]: Supported and usable: clear_buffer_object: yes
[thread 0001][I][74]: Supported and usable: clear_texture: yes
[thread 0001][I][74]: Supported and usable: get_program_binary: yes
[thread 0001][I][74]: Available texture memory (from MESA extension):
7926 MB
[thread 0001][I][74]: Multisample textures test:
[thread 0001][I][75]: GL_R3_G3_B2 (0x2a10): 8 samples
[thread 0001][I][75]: GL_RGB4 (0x804f): 0 samples
[thread 0001][I][75]: GL_RGB5 (0x8050): 0 samples
[thread 0001][I][75]: GL_RGB8 (0x8051): 8 samples
[thread 0001][I][76]: GL_RGBA4 (0x8056): 8 samples
[thread 0001][I][76]: GL_RGB5_A1 (0x8057): 8 samples
[thread 0001][I][76]: GL_RGBA8 (0x8058): 8 samples
[thread 0001][I][76]: GL_RGB10_A2 (0x8059): 8 samples
[thread 0001][I][76]: GL_RGBA16 (0x805b): 8 samples
[thread 0001][I][77]: GL_DEPTH_COMPONENT16 (0x81a5): 8 samples
[thread 0001][I][77]: GL_DEPTH_COMPONENT24 (0x81a6): 8 samples
[thread 0001][I][77]: GL_DEPTH_COMPONENT32 (0x81a7): 8 samples
[thread 0001][I][77]: GL_R8 (0x8229): 8 samples
[thread 0001][I][77]: GL_R16 (0x822a): 8 samples
[thread 0001][I][77]: GL_RG8 (0x822b): 8 samples
[thread 0001][I][77]: GL_RG16 (0x822c): 8 samples
[thread 0001][I][78]: GL_R16F (0x822d): 8 samples
[thread 0001][I][78]: GL_R32F (0x822e): 8 samples
[thread 0001][I][78]: GL_RG16F (0x822f): 8 samples
[thread 0001][I][78]: GL_RG32F (0x8230): 8 samples
[thread 0001][I][78]: GL_R8I (0x8231): 8 samples
[thread 0001][I][78]: GL_R8UI (0x8232): 8 samples
[thread 0001][I][78]: GL_R16I (0x8233): 8 samples
[thread 

[Bug 101739] An issue with alpha-to-coverage handling is causing Arma 3 64-bit Linux port to render trees incorrectly

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=101739

Vedran Miletić  changed:

   What|Removed |Added

 Blocks||77449


Referenced Bugs:

https://bugs.freedesktop.org/show_bug.cgi?id=77449
[Bug 77449] Tracker bug for all bugs related to Steam titles
-- 
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 5/5] video: smscufx: Adjust three checks for null pointers

2017-11-25 Thread SF Markus Elfring
From: Markus Elfring 
Date: Sat, 25 Nov 2017 21:21:20 +0100
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The script “checkpatch.pl” pointed information out like the following.

Comparison to NULL could be written …

Thus fix the affected source code places.

Signed-off-by: Markus Elfring 
---
 drivers/video/fbdev/smscufx.c | 13 +
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/drivers/video/fbdev/smscufx.c b/drivers/video/fbdev/smscufx.c
index 03d35429e1b9..d14604536e63 100644
--- a/drivers/video/fbdev/smscufx.c
+++ b/drivers/video/fbdev/smscufx.c
@@ -1081,7 +1081,7 @@ static int ufx_ops_open(struct fb_info *info, int user)
 
kref_get(>kref);
 
-   if (fb_defio && (info->fbdefio == NULL)) {
+   if (fb_defio && !info->fbdefio) {
/* enable defio at last moment if not disabled by client */
 
struct fb_deferred_io *fbdefio;
@@ -1556,8 +1556,7 @@ static int ufx_setup_modes(struct ufx_data *dev, struct 
fb_info *info,
}
 
/* If everything else has failed, fall back to safe default mode */
-   if (default_vmode == NULL) {
-
+   if (!default_vmode) {
struct fb_videomode fb_vmode = {0};
 
/* Add the standard VESA modes to our modelist
@@ -1583,8 +1582,7 @@ static int ufx_setup_modes(struct ufx_data *dev, struct 
fb_info *info,
}
 
/* If we have good mode and no active clients */
-   if ((default_vmode != NULL) && (dev->fb_count == 0)) {
-
+   if (default_vmode && dev->fb_count == 0) {
fb_videomode_to_var(>var, default_vmode);
ufx_var_color_format(>var);
 
@@ -1594,10 +1592,9 @@ static int ufx_setup_modes(struct ufx_data *dev, struct 
fb_info *info,
(info->var.bits_per_pixel / 8);
 
result = ufx_realloc_framebuffer(dev, info);
-
-   } else
+   } else {
result = -EINVAL;
-
+   }
 error:
if (edid && (dev->edid != edid))
kfree(edid);
-- 
2.15.0

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


[PATCH 4/5] video: smscufx: Improve a size determination in two functions

2017-11-25 Thread SF Markus Elfring
From: Markus Elfring 
Date: Sat, 25 Nov 2017 21:10:22 +0100

Replace the specification of data structures by pointer dereferences
as the parameter for the operator "sizeof" to make the corresponding size
determination a bit safer according to the Linux coding style convention.

Signed-off-by: Markus Elfring 
---
 drivers/video/fbdev/smscufx.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/video/fbdev/smscufx.c b/drivers/video/fbdev/smscufx.c
index c77fc45a76fc..03d35429e1b9 100644
--- a/drivers/video/fbdev/smscufx.c
+++ b/drivers/video/fbdev/smscufx.c
@@ -1086,8 +1086,7 @@ static int ufx_ops_open(struct fb_info *info, int user)
 
struct fb_deferred_io *fbdefio;
 
-   fbdefio = kzalloc(sizeof(struct fb_deferred_io), GFP_KERNEL);
-
+   fbdefio = kzalloc(sizeof(*fbdefio), GFP_KERNEL);
if (fbdefio) {
fbdefio->delay = UFX_DEFIO_WRITE_DELAY;
fbdefio->deferred_io = ufx_dpy_deferred_io;
@@ -1857,7 +1856,7 @@ static int ufx_alloc_urb_list(struct ufx_data *dev, int 
count, size_t size)
INIT_LIST_HEAD(>urbs.list);
 
while (i < count) {
-   unode = kzalloc(sizeof(struct urb_node), GFP_KERNEL);
+   unode = kzalloc(sizeof(*unode), GFP_KERNEL);
if (!unode)
break;
unode->dev = dev;
-- 
2.15.0

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


[PATCH 3/5] video: smscufx: Return an error code only as a constant in ufx_realloc_framebuffer()

2017-11-25 Thread SF Markus Elfring
From: Markus Elfring 
Date: Sat, 25 Nov 2017 19:56:44 +0100

* Return an error code without storing it in an intermediate variable.

* Delete the label "error" and local variable "retval"
  which became unnecessary with this refactoring.

Signed-off-by: Markus Elfring 
---
 drivers/video/fbdev/smscufx.c | 9 ++---
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/video/fbdev/smscufx.c b/drivers/video/fbdev/smscufx.c
index 08271dafd138..c77fc45a76fc 100644
--- a/drivers/video/fbdev/smscufx.c
+++ b/drivers/video/fbdev/smscufx.c
@@ -1294,7 +1294,6 @@ static struct fb_ops ufx_ops = {
  * Assumes no active clients have framebuffer open */
 static int ufx_realloc_framebuffer(struct ufx_data *dev, struct fb_info *info)
 {
-   int retval = -ENOMEM;
int old_len = info->fix.smem_len;
int new_len;
unsigned char *old_fb = info->screen_base;
@@ -1310,7 +1309,7 @@ static int ufx_realloc_framebuffer(struct ufx_data *dev, 
struct fb_info *info)
 */
new_fb = vmalloc(new_len);
if (!new_fb)
-   goto error;
+   return -ENOMEM;
 
if (info->screen_base) {
memcpy(new_fb, old_fb, old_len);
@@ -1322,11 +1321,7 @@ static int ufx_realloc_framebuffer(struct ufx_data *dev, 
struct fb_info *info)
info->fix.smem_start = (unsigned long) new_fb;
info->flags = smscufx_info_flags;
}
-
-   retval = 0;
-
-error:
-   return retval;
+   return 0;
 }
 
 /* sets up I2C Controller for 100 Kbps, std. speed, 7-bit addr, master,
-- 
2.15.0

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


[PATCH 2/5] video: smscufx: Less checks in ufx_usb_probe() after error detection

2017-11-25 Thread SF Markus Elfring
From: Markus Elfring 
Date: Sat, 25 Nov 2017 19:47:51 +0100

Up to four checks could be repeated by the ufx_usb_probe() function
during error handling even if the relevant properties can be determined
for the involved variables before by source code analysis.

* Return directly after a call of the function "kzalloc" failed
  at the beginning.

* Adjust jump targets so that extra checks can be omitted at the end.

* Delete initialisations for the variables "info" and "retval"
  which became unnecessary with this refactoring.

Signed-off-by: Markus Elfring 
---
 drivers/video/fbdev/smscufx.c | 45 +--
 1 file changed, 18 insertions(+), 27 deletions(-)

diff --git a/drivers/video/fbdev/smscufx.c b/drivers/video/fbdev/smscufx.c
index 32de07d77184..08271dafd138 100644
--- a/drivers/video/fbdev/smscufx.c
+++ b/drivers/video/fbdev/smscufx.c
@@ -1619,8 +1619,8 @@ static int ufx_usb_probe(struct usb_interface *interface,
 {
struct usb_device *usbdev;
struct ufx_data *dev;
-   struct fb_info *info = NULL;
-   int retval = -ENOMEM;
+   struct fb_info *info;
+   int retval;
u32 id_rev, fpga_rev;
 
/* usb initialization */
@@ -1629,7 +1629,7 @@ static int ufx_usb_probe(struct usb_interface *interface,
 
dev = kzalloc(sizeof(*dev), GFP_KERNEL);
if (!dev)
-   goto error;
+   return -ENOMEM;
 
/* we need to wait for both usb and fbdev to spin down on disconnect */
kref_init(>kref); /* matching kref_put in usb .disconnect fn */
@@ -1649,9 +1649,8 @@ static int ufx_usb_probe(struct usb_interface *interface,
dev_dbg(dev->gdev, "fb_defio enable=%d\n", fb_defio);
 
if (!ufx_alloc_urb_list(dev, WRITES_IN_FLIGHT, MAX_TRANSFER)) {
-   retval = -ENOMEM;
dev_err(dev->gdev, "ufx_alloc_urb_list failed\n");
-   goto error;
+   goto e_nomem;
}
 
/* We don't register a new USB class. Our client interface is fbdev */
@@ -1659,9 +1658,8 @@ static int ufx_usb_probe(struct usb_interface *interface,
/* allocates framebuffer driver structure, not framebuffer memory */
info = framebuffer_alloc(0, >dev);
if (!info) {
-   retval = -ENOMEM;
dev_err(dev->gdev, "framebuffer_alloc failed\n");
-   goto error;
+   goto e_nomem;
}
 
dev->info = info;
@@ -1672,7 +1670,7 @@ static int ufx_usb_probe(struct usb_interface *interface,
retval = fb_alloc_cmap(>cmap, 256, 0);
if (retval < 0) {
dev_err(dev->gdev, "fb_alloc_cmap failed %x\n", retval);
-   goto error;
+   goto destroy_modedb;
}
 
INIT_DELAYED_WORK(>free_framebuffer_work,
@@ -1733,26 +1731,19 @@ static int ufx_usb_probe(struct usb_interface 
*interface,
return 0;
 
 error:
-   if (dev) {
-   if (info) {
-   if (info->cmap.len != 0)
-   fb_dealloc_cmap(>cmap);
-   if (info->monspecs.modedb)
-   fb_destroy_modedb(info->monspecs.modedb);
-   vfree(info->screen_base);
-
-   fb_destroy_modelist(>modelist);
-
-   framebuffer_release(info);
-   }
-
-   kref_put(>kref, ufx_free); /* ref for framebuffer */
-   kref_put(>kref, ufx_free); /* last ref from kref_init */
-
-   /* dev has been deallocated. Do not dereference */
-   }
-
+destroy_modedb:
+   fb_destroy_modedb(info->monspecs.modedb);
+   vfree(info->screen_base);
+   fb_destroy_modelist(>modelist);
+   framebuffer_release(info);
+put_ref:
+   kref_put(>kref, ufx_free); /* ref for framebuffer */
+   kref_put(>kref, ufx_free); /* last ref from kref_init */
return retval;
+
+e_nomem:
+   retval = -ENOMEM;
+   goto put_ref;
 }
 
 static void ufx_usb_disconnect(struct usb_interface *interface)
-- 
2.15.0

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


[PATCH 1/5] video: smscufx: Delete an error message for a failed memory allocation in two functions

2017-11-25 Thread SF Markus Elfring
From: Markus Elfring 
Date: Sat, 25 Nov 2017 18:32:29 +0100

Omit an extra message for a memory allocation failure in these functions.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring 
---
 drivers/video/fbdev/smscufx.c | 8 ++--
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/video/fbdev/smscufx.c b/drivers/video/fbdev/smscufx.c
index 2275e80b5776..32de07d77184 100644
--- a/drivers/video/fbdev/smscufx.c
+++ b/drivers/video/fbdev/smscufx.c
@@ -1309,10 +1309,8 @@ static int ufx_realloc_framebuffer(struct ufx_data *dev, 
struct fb_info *info)
 * Alloc system memory for virtual framebuffer
 */
new_fb = vmalloc(new_len);
-   if (!new_fb) {
-   pr_err("Virtual framebuffer alloc failed");
+   if (!new_fb)
goto error;
-   }
 
if (info->screen_base) {
memcpy(new_fb, old_fb, old_len);
@@ -1630,10 +1628,8 @@ static int ufx_usb_probe(struct usb_interface *interface,
BUG_ON(!usbdev);
 
dev = kzalloc(sizeof(*dev), GFP_KERNEL);
-   if (dev == NULL) {
-   dev_err(>dev, "ufx_usb_probe: failed alloc of dev 
struct\n");
+   if (!dev)
goto error;
-   }
 
/* we need to wait for both usb and fbdev to spin down on disconnect */
kref_init(>kref); /* matching kref_put in usb .disconnect fn */
-- 
2.15.0

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


[PATCH 0/5] video-SMSC UFX: Adjustments for five function implementations

2017-11-25 Thread SF Markus Elfring
From: Markus Elfring 
Date: Sat, 25 Nov 2017 21:38:42 +0100

A few update suggestions were taken into account
from static source code analysis.

Markus Elfring (5):
  Delete an error message for a failed memory allocation in two functions
  Less checks in ufx_usb_probe() after error detection
  Return an error code only as a constant in ufx_realloc_framebuffer()
  Improve a size determination in two functions
  Adjust three checks for null pointers

 drivers/video/fbdev/smscufx.c | 80 ---
 1 file changed, 29 insertions(+), 51 deletions(-)

-- 
2.15.0


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


[PATCH libdrm v2] tests: fix MAKE_RGBA macro for 10bpp modes

2017-11-25 Thread Ilia Mirkin
We need to shift the values up, otherwise we'd end up with a negative
shift. This works for up-to 16-bit components, which is fine for now.

Signed-off-by: Ilia Mirkin 
---

v1 -> v2: fill low bits with high bits

Fun - this breaks things for GK208. Not sure why. Works on G92 though.
Probably LUT-related.

 tests/util/pattern.c | 19 +++
 1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/tests/util/pattern.c b/tests/util/pattern.c
index 41fb541b..5230c5c4 100644
--- a/tests/util/pattern.c
+++ b/tests/util/pattern.c
@@ -64,11 +64,22 @@ struct color_yuv {
  .u = MAKE_YUV_601_U(r, g, b), \
  .v = MAKE_YUV_601_V(r, g, b) }
 
+static inline uint32_t shiftcolor(const struct util_color_component *comp,
+ uint32_t value)
+{
+   /* Fill the low bits with the high bits. */
+   value = (value << 8) | value;
+   /* Shift down to remove unwanted low bits */
+   value = value >> (16 - comp->length);
+   /* Shift back up to where the value should be */
+   return value << comp->offset;
+}
+
 #define MAKE_RGBA(rgb, r, g, b, a) \
-   r) >> (8 - (rgb)->red.length)) << (rgb)->red.offset) | \
-(((g) >> (8 - (rgb)->green.length)) << (rgb)->green.offset) | \
-(((b) >> (8 - (rgb)->blue.length)) << (rgb)->blue.offset) | \
-(((a) >> (8 - (rgb)->alpha.length)) << (rgb)->alpha.offset))
+   (shiftcolor(&(rgb)->red, (r)) | \
+shiftcolor(&(rgb)->green, (g)) | \
+shiftcolor(&(rgb)->blue, (b)) | \
+shiftcolor(&(rgb)->alpha, (a)))
 
 #define MAKE_RGB24(rgb, r, g, b) \
{ .value = MAKE_RGBA(rgb, r, g, b, 0) }
-- 
2.13.6

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


[Bug 103902] Portal 2 game hangs at startup with latest mesa dev

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103902

--- Comment #5 from Kai  ---
*** Bug 103904 has been marked as a duplicate of this bug. ***

-- 
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 103904] Source engine-based games won't hang at start without R600_DEBUG=vs

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103904

Kai  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #6 from Kai  ---
(In reply to network723 from comment #5)
> (In reply to Kai from comment #4)
> 
> I don't know about original bug 103902 poster, but the proposed patch
> definitely fixes the issue for me.

Ok, so then let us keep this bug closed as a duplicate until differing
information arises. And bug 103902 will be closed, once the patch lands on Mesa
master.

*** This bug has been marked as a duplicate of bug 103902 ***

-- 
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 103904] Source engine-based games won't hang at start without R600_DEBUG=vs

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103904

--- Comment #5 from network...@rkmail.ru ---
(In reply to Kai from comment #4)

I don't know about original bug 103902 poster, but the proposed patch
definitely fixes the issue for me.

-- 
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 103904] Source engine-based games won't hang at start without R600_DEBUG=vs

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103904

--- Comment #4 from Kai  ---
(In reply to fin4478 from comment #2)
> (In reply to Kai from comment #1)
> > This looks like a duplicate of bug 103902
> > 
> > Patch is on the list, see https://patchwork.freedesktop.org/patch/189768/
> > 
> > *** This bug has been marked as a duplicate of bug 103902 ***
> 
> I tested R600_DEBUG=fs,vs,gs,ps,cs with Portal 2 and it did not help with
> RX560. However when Portal 2 hangs, core #9 (0-11) is used 100%.

Did you actually try the patch I linked you to? Because this still sounds an
awful lot like bug 103902.

-- 
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 103904] Source engine-based games won't hang at start without R600_DEBUG=vs

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103904

--- Comment #3 from network...@rkmail.ru ---
actually, it's not necessary R600_DEBUG=vs

R600_DEBUG=ps or R600_DEBUG=gs works too

-- 
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 2/2] video: ssd1307fb: Improve a size determination in ssd1307fb_probe()

2017-11-25 Thread SF Markus Elfring
From: Markus Elfring 
Date: Sat, 25 Nov 2017 16:50:26 +0100

Replace the specification of a data structure by a pointer dereference
as the parameter for the operator "sizeof" to make the corresponding size
determination a bit safer according to the Linux coding style convention.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring 
---
 drivers/video/fbdev/ssd1307fb.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
index fb0ef1922d49..bb32b2dd1f7a 100644
--- a/drivers/video/fbdev/ssd1307fb.c
+++ b/drivers/video/fbdev/ssd1307fb.c
@@ -628,7 +628,8 @@ static int ssd1307fb_probe(struct i2c_client *client,
goto fb_alloc_error;
}
 
-   ssd1307fb_defio = devm_kzalloc(>dev, sizeof(struct 
fb_deferred_io), GFP_KERNEL);
+   ssd1307fb_defio = devm_kzalloc(>dev, sizeof(*ssd1307fb_defio),
+  GFP_KERNEL);
if (!ssd1307fb_defio) {
ret = -ENOMEM;
goto fb_alloc_error;
-- 
2.15.0

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


[PATCH 1/2] video: ssd1307fb: Delete an error message for a failed memory allocation in ssd1307fb_probe()

2017-11-25 Thread SF Markus Elfring
From: Markus Elfring 
Date: Sat, 25 Nov 2017 16:45:56 +0100

Omit an extra message for a memory allocation failure in this function.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring 
---
 drivers/video/fbdev/ssd1307fb.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/video/fbdev/ssd1307fb.c b/drivers/video/fbdev/ssd1307fb.c
index f599520374dd..fb0ef1922d49 100644
--- a/drivers/video/fbdev/ssd1307fb.c
+++ b/drivers/video/fbdev/ssd1307fb.c
@@ -630,7 +630,6 @@ static int ssd1307fb_probe(struct i2c_client *client,
 
ssd1307fb_defio = devm_kzalloc(>dev, sizeof(struct 
fb_deferred_io), GFP_KERNEL);
if (!ssd1307fb_defio) {
-   dev_err(>dev, "Couldn't allocate deferred io.\n");
ret = -ENOMEM;
goto fb_alloc_error;
}
-- 
2.15.0

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


[PATCH 0/2] video: ssd1307fb: Adjustments for ssd1307fb_probe()

2017-11-25 Thread SF Markus Elfring
From: Markus Elfring 
Date: Sat, 25 Nov 2017 16:56:46 +0100

Two update suggestions were taken into account
from static source code analysis.

Markus Elfring (2):
  Delete an error message for a failed memory allocation
  Improve a size determination

 drivers/video/fbdev/ssd1307fb.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.15.0

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


[Bug 103904] Source engine-based games won't hang at start without R600_DEBUG=vs

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103904

fin4...@hotmail.com changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|DUPLICATE   |---

--- Comment #2 from fin4...@hotmail.com ---
(In reply to Kai from comment #1)
> This looks like a duplicate of bug 103902
> 
> Patch is on the list, see https://patchwork.freedesktop.org/patch/189768/
> 
> *** This bug has been marked as a duplicate of bug 103902 ***

I tested R600_DEBUG=fs,vs,gs,ps,cs with Portal 2 and it did not help with
RX560. However when Portal 2 hangs, core #9 (0-11) is used 100%.

-- 
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


Re: [Intel-gfx] [PATCH v5 5/7] drm/i915: Add "panel orientation" property to the panel connector

2017-11-25 Thread Hans de Goede

Hi,

On 11/06/2017 11:17 AM, Daniel Vetter wrote:

On Sat, Nov 04, 2017 at 03:08:26PM +0100, Hans de Goede wrote:

Ideally we could use the VBT for this, that would be simple, in
intel_dsi_init() check dev_priv->vbt.dsi.config->rotation, set
connector->display_info.panel_orientation accordingly and call
drm_connector_init_panel_orientation_property(), done.

Unfortunately vbt.dsi.config->rotation is always 0 even on tablets
with an upside down LCD and where the GOP is properly rotating the
EFI fb in hardware.

So instead we end up reading the rotation from the primary plane.
To read the info from the primary plane, we need to know which crtc
the panel is hooked up to, so we do this the first time the panel
encoder's get_config function get called, as by then the encoder
crtc routing has been set up.

This commit only implements the panel orientation property for DSI
panels on BYT / CHT / BXT hardware, as all known non normal oriented
panels are only found on this hardware.

Signed-off-by: Hans de Goede 
---
Changes in v2:
-Read back the rotation applied by the GOP from the primary plane
  instead of relying on dev_priv->vbt.dsi.config->rotation, because it
  seems that the VBT rotation filed is always 0 even on devices where the
  GOP does apply a rotation

Changes in v3:
-Rewrite the code to read back the orientation from the primary
  plane to contain all of this in intel_dsi.c instead of poking a bunch
  of holes between all the different layers
---
  drivers/gpu/drm/i915/intel_drv.h   |  1 +
  drivers/gpu/drm/i915/intel_dsi.c   | 48 ++
  drivers/gpu/drm/i915/intel_dsi.h   |  2 ++
  drivers/gpu/drm/i915/intel_panel.c | 16 +
  4 files changed, 67 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 47d022d48718..11efc6cb74c8 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1727,6 +1727,7 @@ void intel_panel_enable_backlight(const struct 
intel_crtc_state *crtc_state,
  const struct drm_connector_state *conn_state);
  void intel_panel_disable_backlight(const struct drm_connector_state 
*old_conn_state);
  void intel_panel_destroy_backlight(struct drm_connector *connector);
+void intel_panel_set_orientation(struct intel_panel *panel, int orientation);
  enum drm_connector_status intel_panel_detect(struct drm_i915_private 
*dev_priv);
  extern struct drm_display_mode *intel_find_panel_downclock(
struct drm_i915_private *dev_priv,
diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
index 83f15848098a..3e2f12db8d15 100644
--- a/drivers/gpu/drm/i915/intel_dsi.c
+++ b/drivers/gpu/drm/i915/intel_dsi.c
@@ -1084,13 +1084,16 @@ static void bxt_dsi_get_pipe_config(struct 
intel_encoder *encoder,
struct drm_display_mode *adjusted_mode_sw;
struct intel_crtc *intel_crtc;
struct intel_dsi *intel_dsi = enc_to_intel_dsi(>base);
+   struct intel_panel *panel = _dsi->attached_connector->panel;
unsigned int lane_count = intel_dsi->lane_count;
unsigned int bpp, fmt;
+   int orientation;
enum port port;
u16 hactive, hfp, hsync, hbp, vfp, vsync, vbp;
u16 hfp_sw, hsync_sw, hbp_sw;
u16 crtc_htotal_sw, crtc_hsync_start_sw, crtc_hsync_end_sw,
crtc_hblank_start_sw, crtc_hblank_end_sw;
+   u32 val;
  
  	/* FIXME: hw readout should not depend on SW state */

intel_crtc = to_intel_crtc(encoder->base.crtc);
@@ -1234,6 +1237,49 @@ static void bxt_dsi_get_pipe_config(struct intel_encoder 
*encoder,
if (adjusted_mode->crtc_hblank_end == crtc_hblank_end_sw)
adjusted_mode->crtc_hblank_end =
adjusted_mode_sw->crtc_hblank_end;
+
+   if (!intel_dsi->got_panel_orientation) {
+   val = I915_READ(PLANE_CTL(intel_crtc->pipe, 0));
+   /* The rotation is used to correct for the panel orientation */
+   switch (val & PLANE_CTL_ROTATE_MASK) {
+   case PLANE_CTL_ROTATE_0:
+   orientation = DRM_MODE_PANEL_ORIENTATION_NORMAL;
+   break;
+   case PLANE_CTL_ROTATE_90:
+   orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP;
+   break;
+   case PLANE_CTL_ROTATE_180:
+   orientation = DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP;
+   break;
+   case PLANE_CTL_ROTATE_270:
+   orientation = DRM_MODE_PANEL_ORIENTATION_LEFT_UP;
+   break;
+   }
+   intel_panel_set_orientation(panel, orientation);
+   intel_dsi->got_panel_orientation = true;
+   }
+}
+
+static void vlv_dsi_get_pipe_config(struct intel_encoder *encoder)
+{
+   struct drm_i915_private 

[Bug 103902] Portal 2 game hangs at startup with latest mesa dev

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103902

Kai  changed:

   What|Removed |Added

 CC||network...@rkmail.ru

--- Comment #4 from Kai  ---
*** Bug 103904 has been marked as a duplicate of this bug. ***

-- 
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 103904] Source engine-based games won't hang at start without R600_DEBUG=vs

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103904

Kai  changed:

   What|Removed |Added

 Resolution|--- |DUPLICATE
 Status|NEW |RESOLVED

--- Comment #1 from Kai  ---
This looks like a duplicate of bug 103902

Patch is on the list, see https://patchwork.freedesktop.org/patch/189768/

*** This bug has been marked as a duplicate of bug 103902 ***

-- 
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 103904] Source engine-based games won't hang at start without R600_DEBUG=vs

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103904

Bug ID: 103904
   Summary: Source engine-based games won't hang at start without
R600_DEBUG=vs
   Product: Mesa
   Version: git
  Hardware: Other
OS: All
Status: NEW
  Severity: normal
  Priority: medium
 Component: Drivers/Gallium/radeonsi
  Assignee: dri-devel@lists.freedesktop.org
  Reporter: network...@rkmail.ru
QA Contact: dri-devel@lists.freedesktop.org

Source engine-based games, like Left4Dead 2, CS:Source, etc. freeze after
window creation, consuming 100% of single cpu core. Running these games with
R600_DEBUG=vs restores normal behavior.

TAHITI Pro, Mesa git master commit b6b4b2c6d825c056033c4111a67e83111b5f02e8

-- 
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 103902] Portal 2 game hangs at startup with latest mesa dev

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103902

--- Comment #3 from fin4...@hotmail.com ---
(In reply to Christoph Haag from comment #2)
> This will likely help:
> https://lists.freedesktop.org/archives/mesa-dev/2017-November/177860.html
> 
> I think it's not fixed in mesa git master yet.

Thank you very much for the information. It is a big job to revert back to
Debian testing Mesa (purging removes a lot of software) so I use Oibaf ppa that
updates every day and wait for the the fix.

-- 
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 103902] Portal 2 game hangs at startup with latest mesa dev

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103902

--- Comment #2 from Christoph Haag  ---
This will likely help:
https://lists.freedesktop.org/archives/mesa-dev/2017-November/177860.html

I think it's not fixed in mesa git master yet.

-- 
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 103902] Portal 2 game hangs at startup with latest mesa dev

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103902

--- Comment #1 from fin4...@hotmail.com ---
I did run the Portal 2 game with gdb and no additional tracing available.

-- 
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 103902] Portal 2 game hangs at startup with latest mesa dev

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103902

fin4...@hotmail.com changed:

   What|Removed |Added

 OS|All |Linux (All)
   Hardware|Other   |x86-64 (AMD64)

-- 
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 103902] Portal 2 game hangs at startup with latest mesa dev

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103902

Bug ID: 103902
   Summary: Portal 2 game  hangs at startup   with latest mesa dev
   Product: DRI
   Version: XOrg git
  Hardware: Other
OS: All
Status: NEW
  Severity: normal
  Priority: medium
 Component: DRM/AMDgpu
  Assignee: dri-devel@lists.freedesktop.org
  Reporter: fin4...@hotmail.com

When using either Padoka ppa or Oibaf ppa Mesa dev, the Portal 2 game only
opens a black screen. If you use the -windowed parameter it will open a black
window. Portal 2 game is not as well implemented as Team Fortress 2 (Valve
Source engine game too) that works fine. Last messages before hang in
~/.steam/error.log:

CSoundEmitterSystemBase::BaseInit: Manifest 'scripts/game_sounds_manifest.txt'
with bogus file type 'new_sound_scripts_must_go_below_here', expecting
'declare_file' or 'precache_file'

Convar r_flashlightscissor has conflicting FCVAR_CHEAT flags (child: no
FCVAR_CHEAT, parent: has FCVAR_CHEAT, parent wins)

I have uninstalled and installed the game several times, no help. Portal 2 does
work with the Debian testing Mesa:
xfce@ryzen5pc:~/Documents$ glxinfo| grep OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: AMD POLARIS11 (DRM 3.19.0 / 4.14.0, LLVM 5.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.2.5


I managed to run the game with Padoka ppa one day when I purchased it. Next day
after installing the Sanctum 2 game Portal 2 did not work anymore.
OpenGL: renderer: AMD POLARIS11 (DRM 3.19.0 / 4.14.0, LLVM 6.0.0)
version: 4.5 Mesa 17.4.0-devel - padoka PPA

>From the Portal 2 game point of view, there might be some regression in Mesa.
My system:
xfce@ryzen5pc:~$ inxi -GSCM
System:Host: ryzen5pc Kernel: 4.14.0 x86_64 bits: 64 Desktop: Xfce 4.12.4
   Distro: Debian GNU/Linux buster/sid
Machine:   Device: desktop Mobo: ASUSTeK model: PRIME B350M-K v: Rev X.0x
serial: N/A
   UEFI [Legacy]: American Megatrends v: 0902 date: 09/08/2017
CPU:   Hexa core AMD Ryzen 5 1600 Six-Core (-HT-MCP-) cache: 3072 KB
   clock speeds: max: 3193 MHz 1: 3193 MHz 2: 3193 MHz 3: 3193 MHz
   4: 3193 MHz 5: 3193 MHz 6: 3193 MHz 7: 3193 MHz 8: 3193 MHz
   9: 3193 MHz 10: 3193 MHz 11: 3193 MHz 12: 3193 MHz
Graphics:  Card: Advanced Micro Devices [AMD/ATI] Baffin [Polaris11]
   Display Server: x11 (X.Org 1.19.5 )
   drivers: ati,amdgpu (unloaded: modesetting,fbdev,vesa,radeon)
   Resolution: 1920x1080@60.00hz
   OpenGL: renderer: AMD POLARIS11 (DRM 3.19.0 / 4.14.0, LLVM 5.0.1)
   version: 4.5 Mesa 17.4.0-devel

-- 
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 103900] [SUMO][TURKS] Launching War Thunder make GPU stuck, and then system is hard lockup

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103900

--- Comment #2 from aceman  ---
Yes I can confirm this on Radeon HD 4350. Even the game itself shows a dialog
about hangup, but then the GPU is hung for a while. I think it restarts
eventually and takes down the X server (and KDE session). But then I can
normally login to KDE again.

-- 
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 103783] atombios stuck in loop for more than 5secs

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103783

--- Comment #10 from vkr...@yahoo.com ---
OTOH, TLP services are not enabled according to tlp-stat -s, so does that mean
my laptop is not using TLP after all?

tlp-stat -s
--- TLP 1.0 

+++ System Info
System = Dell Inc. Inspiron 5770
BIOS   = 1.0.5
Release= "openSUSE Tumbleweed"
Kernel = 4.14.0-1-default #1 SMP PREEMPT Mon Nov 13 21:02:46 UTC 2017
(ab9e909) x86_64
/proc/cmdline  = BOOT_IMAGE=/boot/vmlinuz-4.14.0-1-default
root=UUID=d58e8e85-bfdd-4a74-a694-5149ccd85110 quiet resume=/dev/sda3
splash=silent quiet showopts
Init system= systemd v234
Boot mode  = UEFI

+++ TLP Status
State  = enabled
Last run   = 11:02:47, 14 sec(s) ago
Mode   = AC
Power source   = AC

Notice: tlp.service is not enabled -- invoke "systemctl enable tlp.service" to
correct this!
Notice: tlp-sleep.service is not enabled -- invoke "systemctl enable
tlp-sleep.service" to correct this!
Notice: systemd-rfkill.service is not masked -- invoke "systemctl mask
systemd-rfkill.service" to correct this!

-- 
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] drm/msm/mdp4: Deduplicate bus_find_device() by name matching

2017-11-25 Thread Lukas Wunner
No need to reinvent the wheel, we have bus_find_device_by_name().

Signed-off-by: Lukas Wunner 
---
 drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h | 7 +--
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h 
b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h
index 940de51ac5cd..a1b3e31e959e 100644
--- a/drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h
+++ b/drivers/gpu/drm/msm/mdp/mdp4/mdp4_kms.h
@@ -234,10 +234,6 @@ static inline struct clk *mpd4_lvds_pll_init(struct 
drm_device *dev)
 #endif
 
 #ifdef DOWNSTREAM_CONFIG_MSM_BUS_SCALING
-static inline int match_dev_name(struct device *dev, void *data)
-{
-   return !strcmp(dev_name(dev), data);
-}
 /* bus scaling data is associated with extra pointless platform devices,
  * "dtv", etc.. this is a bit of a hack, but we need a way for encoders
  * to find their pdata to make the bus-scaling stuff work.
@@ -245,8 +241,7 @@ static inline int match_dev_name(struct device *dev, void 
*data)
 static inline void *mdp4_find_pdata(const char *devname)
 {
struct device *dev;
-   dev = bus_find_device(_bus_type, NULL,
-   (void *)devname, match_dev_name);
+   dev = bus_find_device_by_name(_bus_type, NULL, devname);
return dev ? dev->platform_data : NULL;
 }
 #endif
-- 
2.11.0

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


[Bug 103783] atombios stuck in loop for more than 5secs

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=103783

--- Comment #9 from vkr...@yahoo.com ---
Looks like TLP was installed on my laptop at initial installation time.

rpm -qa  | grep -i tlp
tlp-1.0-1.2.noarch
tlp-rdw-1.0-1.2.noarch


The latest openSUSE Tumbleed snapshot switched to 4.14 kernel - I got the same
issue with that too on first boot. The bug report in openSUSE's bugzilla
contains the /var/log/messages for that first boot with 4.14.

-- 
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 100387] War Thunder game has visual errors, missing textures

2017-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=100387

--- Comment #19 from Agatha_Luni  ---
I have same issue on my AMD A6-6400K with Radeon HD 8470D (ARUBA)
Kubuntu 17.10 x86_64 with Linux 4.13.0 and Mesa 17.2.2

-- 
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