[Bug 102646] Screen flickering under amdgpu-experimental [buggy auto power profile]

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=102646

--- Comment #31 from Timothy Pearson  ---
(In reply to L.Y. Sim from comment #30)
> I have this issue on a 3840x1600 Acer XR382CQK with an RX560 with Kernel
> 4.18.5-1 on Manjaro. 
> 
> When I set the refresh rate to 75Hz, severe artifacts and flickering appear.
> 
> Both 
> 
> echo high > /sys/class/drm/card0/device/power_dpm_force_performance_level
> and
> 
> echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level
> 
> stop the flickering and artifacting, and I can see via 
> 
> cat /sys/class/drm/card0/device/pp_dpm_mclk 
> 
> that the memory clocks are set to 1750Mhz and 300Mhz respectively. 
> 
> However, if /sys/class/drm/card0/device/power_dpm_force_performance_level is
> set to auto, I can see (via watching /sys/class/drm/card0/device/pp_dpm_mclk
> with time intervals around 0.1s), that the memory clock oscillates rapidly
> between 300Mhz, 625Mhz and 1750Mhz.
> 
> So it seems to me that the rapid change in memory frequency is what's
> causing the flickering.

Confirmed here on a Polaris 10 GPU (WX7100) on DisplayPort with the latest
kernel master from GIT (4.19+).  The workaround sequence above stops the
irritating flickering.  dc=0 alone does /not/ stop the flickering, and dc=1
yields no displays detected due to some other 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 108574] Screens do not turn on if xorg start when they are off

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108574

Bug ID: 108574
   Summary: Screens do not turn on if xorg start when they are off
   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: coolo...@gmail.com

Created attachment 142229
  --> https://bugs.freedesktop.org/attachment.cgi?id=142229&action=edit
errors in dmesg

If xorg is started while screens are off or disconnected, ugly messages get
printed into dmesg and the screens do not get activated if they are then turned
on. Also seems to kill x11vnc if that was started.

-- 
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 108575] amd-staging-drm-next, R4 Mullins hdmi monitor wont wake up from S3 - *ERROR* REG_WAIT timeout 1us * 80000 tries - dce_abm_immediate_disable

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108575

Bug ID: 108575
   Summary: amd-staging-drm-next, R4 Mullins hdmi monitor wont
wake up from S3 - *ERROR* REG_WAIT timeout 1us * 8
tries - dce_abm_immediate_disable
   Product: DRI
   Version: DRI git
  Hardware: x86-64 (AMD64)
OS: Linux (All)
Status: NEW
  Severity: normal
  Priority: medium
 Component: DRM/AMDgpu
  Assignee: dri-devel@lists.freedesktop.org
  Reporter: sop...@gmail.com

Lenovo G50-45, A6 6310 APU, R4 Mullins, gentoo ~amd64 with amd-staging-drm-next
kernel pulled today.

After wake up from S3 hdmi monitor is turned of as there was no signal, but
after reconnect of hdmi cable monitor is powered on although the screen is
black (no picture).

In KDE system settings monitor is visible and turned on, desktop is stretched
as regular (I can blindly move an application to the second part of the desktop
into "invisible" screen). Switching to tty's makes no difference.

I dont know if it is related, but there is an error message in dmesg after
resuming from sleep:

"
[10999.238780] [5574]: Suspending system...
[10999.238829] PM: suspend entry (deep)
[10999.238831] PM: Syncing filesystems ... done.
[10999.355001] Freezing user space processes ... (elapsed 0.002 seconds) done.
[10999.357885] OOM killer disabled.
[10999.357886] Freezing remaining freezable tasks ... (elapsed 0.001 seconds)
done.
[10999.359634] Suspending console(s) (use no_console_suspend to debug)
[10999.360321] wlp1s0: deauthenticating from c4:12:f5:5e:4e:67 by local choice
(Reason: 3=DEAUTH_LEAVING)
[10999.379673] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[10999.380563] sd 0:0:0:0: [sda] Stopping disk
[10999.421865] switching from power state:
[10999.421867]  ui class: battery
[10999.421868]  internal class: none
[10999.421871]  caps:
[10999.421873]  uvdvclk: 0 dclk: 0
[10999.421875]  power level 0sclk: 3 vddc: 3050
[10999.421876]  power level 1sclk: 4 vddc: 3400
[10999.421877]  status: c
[10999.421879] switching to power state:
[10999.421880]  ui class: battery
[10999.421880]  internal class: none
[10999.421882]  caps:
[10999.421884]  uvdvclk: 0 dclk: 0
[10999.421885]  power level 0sclk: 3 vddc: 3050
[10999.421886]  power level 1sclk: 4 vddc: 3400
[10999.421887]  status: r
[10999.597203] [drm:generic_reg_wait [amdgpu]] *ERROR* REG_WAIT timeout 1us *
8 tries - dce_abm_immediate_disable line:318
[10999.597307] WARNING: CPU: 3 PID: 14336 at
drivers/gpu/drm/amd/amdgpu/../display/dc/dc_helper.c:249
generic_reg_wait+0xd5/0x140 [amdgpu]
[10999.597309] Modules linked in: rfcomm ebtable_nat ip_set nfnetlink
ebtable_filter ebtables ip6table_filter ip6_tables overlay squashfs loop bnep
ipv6 ath3k btusb btintel bluetooth ecdh_generic rtsx_usb_ms memstick
rtsx_usb_sdmmc uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2
videobuf2_common videodev media rtsx_usb kvm_amd ath9k kvm ath9k_common
irqbypass ath9k_hw crc32_pclmul amdgpu ghash_clmulni_intel serio_raw mac80211
ath sdhci_pci cqhci sdhci mfd_core chash gpu_sched mmc_core ttm cfg80211
xhci_pci ehci_pci xhci_hcd ehci_hcd sp5100_tco
[10999.597371] CPU: 3 PID: 14336 Comm: kworker/u8:7 Tainted: GW
4.19.0-rc1+ #4
[10999.597373] Hardware name: LENOVO 80E3/Lancer 5B2, BIOS A2CN45WW(V2.13)
08/04/2016
[10999.597381] Workqueue: events_unbound async_run_entry_fn
[10999.597441] RIP: 0010:generic_reg_wait+0xd5/0x140 [amdgpu]
[10999.597445] Code: 58 89 de 48 8b 4c 24 50 48 c7 c7 e0 b1 5b c0 8b 54 24 48
44 89 4c 24 08 e8 c8 3c 9e c6 41 83 7c 24 18 01 44 8b 4c 24 08 74 02 <0f> 0b 48
83 c4 10 44 89 c8 5b 5d 41 5c 41 5d 41 5e 41 5f c3 41 0f
[10999.597447] RSP: 0018:9f86c24eb8e8 EFLAGS: 00010297
[10999.597450] RAX:  RBX: 0001 RCX:
0001
[10999.597452] RDX:  RSI: 0086 RDI:

[10999.597454] RBP:  R08: 11fa4e0922d1 R09:
0001
[10999.597456] R10:  R11: 00025e1c R12:
9976d0a9ae80
[10999.597458] R13: 00013881 R14: 0001 R15:

[10999.597461] FS:  () GS:9976d7b8()
knlGS:
[10999.597463] CS:  0010 DS:  ES:  CR0: 80050033
[10999.597465] CR2: 7f7bcc7c5018 CR3: 00020eb25000 CR4:
000406e0
[10999.597467] Call Trace:
[10999.597549]  dce_abm_immediate_disable+0x41/0x170 [amdgpu]
[10999.597615]  dc_link_set_abm_disable+0x31/0x40 [amdgpu]
[10999.597679]  dce110_blank_stream+0x6f/0x78 [amdgpu]
[10999.597742]  core_link_disable_stream+0x4f/0x218 [amdgpu]
[10999.597749]  ? preempt_count_add+0x44/0x98
[10999.597754]  ? wake_up_klogd+0x4a/0x68
[10999.597757]  ? vprintk_emit+0x8c/0x1a0
[10999.597822]  dce110_reset_hw_ctx_wrap+0xbb/0x1e8 [amdgpu]
[10999.597889]  dce110_apply_ct

[Bug 108542] hdmi issues with kernel 4.18

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108542

--- Comment #5 from davide26...@gmail.com ---
> The log you posted should be sufficient. I'm not sure about a timeline for a
> fix, however.

Couldn't you just reverse the commits ?

I did complete the bisection btw:

691f2d763d0731224439686ecf2d440df8fe910e is the first bad commit
commit 691f2d763d0731224439686ecf2d440df8fe910e
Author: Mikita Lipski 
Date:   Fri Jul 13 09:07:35 2018 -0400

drm/amd/display: update clk for various HDMI color depths

commit 81aca8e75c1b046865fb2badef95a0dcff6f73de upstream.

[why]
When programming tonga's connector's backend we didn't take
in account that HDMI's colour depth might be more than 8bpc
therefore we need to add a switch statement that would adjust
the pixel clock accordingly.

[how]
Add a switch statement updating clock by its appropriate
coefficient.

Signed-off-by: Mikita Lipski 
Reviewed-by: Charlene Liu 
Acked-by: Bhawanpreet Lakha 
Signed-off-by: Alex Deucher 
Cc: sta...@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman 

:04 04 ef9f989910439dc8749f1440863e3e26646d5fa1
c9ae9b8a137f9ef9d62147fcc28ea25fc4ffbc1e M  drivers

-- 
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 107311] seemingly random GPU hangs, no input

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=107311

Roshless  changed:

   What|Removed |Added

 Resolution|DUPLICATE   |WORKSFORME

--- Comment #6 from Roshless  ---
Resolved my problem by connecting only 8 pins, leaving additional 6 not
connected. At least it's not crashing now.

-- 
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 108576] Radeon driver crashes all PCI devices on the system

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108576

Bug ID: 108576
   Summary: Radeon driver crashes all PCI devices on the system
   Product: Mesa
   Version: 18.0
  Hardware: x86-64 (AMD64)
OS: Linux (All)
Status: NEW
  Severity: major
  Priority: medium
 Component: Drivers/Gallium/r300
  Assignee: dri-devel@lists.freedesktop.org
  Reporter: brais.1...@gmail.com
QA Contact: dri-devel@lists.freedesktop.org

Created attachment 142230
  --> https://bugs.freedesktop.org/attachment.cgi?id=142230&action=edit
dmesg after triggering the bug.

I have a problem with an old HP Compaq NW8440 computer running Linux. The
computer runs really fine except for some bugs. This is the most critical one,
if I run a software that uses 3D acceleration, sometimes the entire system
crashes and I have to reset the computer manually.

-- 
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 108576] Radeon driver crashes all PCI devices on the system

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108576

--- Comment #1 from Brais  ---
Created attachment 142231
  --> https://bugs.freedesktop.org/attachment.cgi?id=142231&action=edit
dmesg before triggering the bug

Dmesg before triggering the bug (Using /perf/vertexrate test from mesa-demos)

-- 
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 108576] Radeon driver crashes all PCI devices on the system

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108576

--- Comment #3 from Brais  ---
Created attachment 142233
  --> https://bugs.freedesktop.org/attachment.cgi?id=142233&action=edit
lspci -v

LSPCI

-- 
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 108576] Radeon driver crashes all PCI devices on the system

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108576

--- Comment #2 from Brais  ---
Created attachment 142232
  --> https://bugs.freedesktop.org/attachment.cgi?id=142232&action=edit
/perf/interrupts

/perf/interrupts file

-- 
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 108576] Radeon driver crashes all PCI devices on the system

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108576

--- Comment #4 from Brais  ---
Created attachment 142234
  --> https://bugs.freedesktop.org/attachment.cgi?id=142234&action=edit
glxinfo -l

glxinfo

-- 
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 108576] Radeon driver crashes all PCI devices on the system

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108576

--- Comment #5 from Brais  ---
I attached some files after triggering the bug (Using an intensive OpenGL 
application, like /perf/vertexrate demo from mesa-demos). 

The soundcard, Network card and WiFi card stopped working after this. WiFi can
be recovered by pressing the RF Kill switch two times.

The system hangs completly if something is connected to the USB ports. (SysReq
doesn't work, either)

The graphics card present on the system is a FireGL v5200.

-- 
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 201539] New: AMDGPU R9 390 automatic fan speed control in Linux 4.19

2018-10-27 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=201539

Bug ID: 201539
   Summary: AMDGPU R9 390 automatic fan speed control in Linux
4.19
   Product: Drivers
   Version: 2.5
Kernel Version: 4.19
  Hardware: All
OS: Linux
  Tree: Mainline
Status: NEW
  Severity: normal
  Priority: P1
 Component: Video(DRI - non Intel)
  Assignee: drivers_video-...@kernel-bugs.osdl.org
  Reporter: 0xe2.0x9a.0...@gmail.com
Regression: No

GPU: R9 390
Kernel module: amdgpu
Application (example): Rise of the Tomb Raider benchmark

In Linux 4.18 the fan speed of the GPU gradually adapts to GPU load. Maximum
pwm is 155 during the benchmark.

In Linux 4.19 the overall fan speed is lower (which is more silent than 4.18,
with maximum at 112) but the fan spikes to full speed (pwm=255) for 1-2 seconds
which is extremely loud.

The 4.18 and 4.19 kernels are using the same firmware.

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


[Bug 201539] AMDGPU R9 390 automatic fan speed control in Linux 4.19

2018-10-27 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=201539

--- Comment #1 from Jan Ziak (http://atom-symbol.net) 
(0xe2.0x9a.0...@gmail.com) ---
Created attachment 279205
  --> https://bugzilla.kernel.org/attachment.cgi?id=279205&action=edit
pwm1-4.18.16

while true; do cat /sys/class/drm/card0/device/hwmon/hwmon2/pwm1; sleep 0.1s;
done

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


[Bug 201539] AMDGPU R9 390 automatic fan speed control in Linux 4.19

2018-10-27 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=201539

--- Comment #2 from Jan Ziak (http://atom-symbol.net) 
(0xe2.0x9a.0...@gmail.com) ---
Created attachment 279207
  --> https://bugzilla.kernel.org/attachment.cgi?id=279207&action=edit
pwm1-4.19.0

while true; do cat /sys/class/drm/card0/device/hwmon/hwmon2/pwm1; sleep 0.1s;
done

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


[Bug 107536] gfx_v8_0_priv_reg_irq [amdgpu]] *ERROR* Illegal register access in command stream

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=107536

--- Comment #4 from dwagner  ---
So far it has been a one-time event.

It was probably unrelated to the "echo manual
>power_dpm_force_performance_level" setting I mentioned above: I still need to
use that setting in order to let the kernel not crash every few minutes (this
is subject to https://bugs.freedesktop.org/show_bug.cgi?id=102322 ).

-- 
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 201539] AMDGPU R9 390 automatic fan speed control in Linux 4.19

2018-10-27 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=201539

--- Comment #3 from Jan Ziak (http://atom-symbol.net) 
(0xe2.0x9a.0...@gmail.com) ---
4.18.16:
$ cat /sys/class/drm/card0/device/hwmon/hwmon2/pwm1_enable
2

4.19.0:
$ cat /sys/class/drm/card0/device/hwmon/hwmon2/pwm1_enable
1

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


Re: [PATCH 1/3] dt-bindings: new binding for Himax HX8357D display panels

2018-10-27 Thread Noralf Trønnes


Den 24.10.2018 20.43, skrev Eric Anholt:

This adds a new binding for Himax HX8357D display panels. It includes
a compatible string for one display (more can be added in the future).

The YX350HV15 panel[1] is found in the Adafruit PiTFT 3.5" Touch
Screen for Raspberry Pi.

[1] 
https://learn.adafruit.com/adafruit-pitft-3-dot-5-touch-screen-for-raspberry-pi/downloads

This binding is closely modeled after the ili9341 binding, for a
similar product from adafruit.  The primary difference is that the
hx8367d doesn't have a reset line that I can find in the schematics.


Typo s/hx8367d/hx8357d/

The adafruit display has an AXP803 that resets the controller.

Acked-by: Noralf Trønnes 


Signed-off-by: Eric Anholt 
---
  .../bindings/display/himax,hx8357d.txt| 25 +++
  1 file changed, 25 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/display/himax,hx8357d.txt

diff --git a/Documentation/devicetree/bindings/display/himax,hx8357d.txt 
b/Documentation/devicetree/bindings/display/himax,hx8357d.txt
new file mode 100644
index ..48586e570be0
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/himax,hx8357d.txt
@@ -0,0 +1,25 @@
+Himax HX8357D display panels
+
+This binding is for display panels using a Himax HX8357D controller in SPI
+mode, such as the Adafruit 3.5" TFT for Raspberry Pi.
+
+Required properties:
+- compatible:  "adafruit,yx350hv15", "himax,hx8357d"
+- dc-gpios:D/C pin
+
+The node for this driver must be a child node of a SPI controller, hence
+all mandatory properties described in ../spi/spi-bus.txt must be specified.
+
+Optional properties:
+- rotation:panel rotation in degrees counter clockwise (0,90,180,270)
+- backlight:   phandle of the backlight device attached to the panel
+
+Example:
+   display@0{
+   compatible = "adafruit,yx350hv15", "himax,hx8357d";
+   reg = <0>;
+   spi-max-frequency = <3200>;
+   dc-gpios = <&gpio0 25 GPIO_ACTIVE_HIGH>;
+   rotation = <90>;
+   backlight = <&backlight>;
+   };


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


Re: [PATCH 2/3] drm: Add an hx8367d tinydrm driver.

2018-10-27 Thread Noralf Trønnes


Den 24.10.2018 20.43, skrev Eric Anholt:

I want to sort out support for tinydrm in vc4, so I needed to get a
tinydrm-appropriate panel working and this is what I had on hand.
This is derived from a combination of ili9341.c from tinydrm and
fb_hx8357d.c from staging's fbtft.  The register header is copied
directly from staging's fbtft, on the assumption that we will delete
that copy later.

Signed-off-by: Eric Anholt 
---
  MAINTAINERS   |   7 +
  drivers/gpu/drm/tinydrm/Kconfig   |  11 ++
  drivers/gpu/drm/tinydrm/Makefile  |   1 +
  drivers/gpu/drm/tinydrm/hx8357d.c | 261 ++
  drivers/gpu/drm/tinydrm/hx8357d.h |  71 
  5 files changed, 351 insertions(+)
  create mode 100644 drivers/gpu/drm/tinydrm/hx8357d.c
  create mode 100644 drivers/gpu/drm/tinydrm/hx8357d.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 39c3f6682ace..e78971e20a11 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -4623,6 +4623,13 @@ S:   Maintained
  F:drivers/gpu/drm/tinydrm/ili9225.c
  F:Documentation/devicetree/bindings/display/ilitek,ili9225.txt
  
+DRM DRIVER FOR HX8357D PANELS

+M: Eric Anholt 
+T: git git://anongit.freedesktop.org/drm/drm-misc
+S: Maintained
+F: drivers/gpu/drm/tinydrm/hx8357d.c
+F: Documentation/devicetree/bindings/display/himax,hx8357d.txt
+
  DRM DRIVER FOR INTEL I810 VIDEO CARDS
  S:Orphan / Obsolete
  F:drivers/gpu/drm/i810/
diff --git a/drivers/gpu/drm/tinydrm/Kconfig b/drivers/gpu/drm/tinydrm/Kconfig
index 16f4b5c91f1b..2c408ac1a900 100644
--- a/drivers/gpu/drm/tinydrm/Kconfig
+++ b/drivers/gpu/drm/tinydrm/Kconfig
@@ -10,6 +10,17 @@ menuconfig DRM_TINYDRM
  config TINYDRM_MIPI_DBI
tristate
  
+config TINYDRM_HX8357D

+   tristate "DRM support for HX8357D display panels"
+   depends on DRM_TINYDRM && SPI
+   depends on BACKLIGHT_CLASS_DEVICE
+   select TINYDRM_MIPI_DBI
+   help
+ DRM driver for the following HX8357D panels:
+ * YX350HV15-T 3.5" 340x350 TFT (Adafruit 3.5")
+
+ If M is selected the module will be called hx8357d.
+
  config TINYDRM_ILI9225
tristate "DRM support for ILI9225 display panels"
depends on DRM_TINYDRM && SPI
diff --git a/drivers/gpu/drm/tinydrm/Makefile b/drivers/gpu/drm/tinydrm/Makefile
index 14d99080665a..f823066f7743 100644
--- a/drivers/gpu/drm/tinydrm/Makefile
+++ b/drivers/gpu/drm/tinydrm/Makefile
@@ -4,6 +4,7 @@ obj-$(CONFIG_DRM_TINYDRM)   += core/
  obj-$(CONFIG_TINYDRM_MIPI_DBI)+= mipi-dbi.o
  
  # Displays

+obj-$(CONFIG_TINYDRM_HX8357D)  += hx8357d.o
  obj-$(CONFIG_TINYDRM_ILI9225) += ili9225.o
  obj-$(CONFIG_TINYDRM_ILI9341) += ili9341.o
  obj-$(CONFIG_TINYDRM_MI0283QT)+= mi0283qt.o
diff --git a/drivers/gpu/drm/tinydrm/hx8357d.c 
b/drivers/gpu/drm/tinydrm/hx8357d.c
new file mode 100644
index ..51d4da624d57
--- /dev/null
+++ b/drivers/gpu/drm/tinydrm/hx8357d.c
@@ -0,0 +1,261 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * DRM driver for the HX8357D LCD controller
+ *
+ * Copyright 2018 Broadcom
+ * Copyright 2018 David Lechner 
+ * Copyright 2016 Noralf Trønnes
+ * Copyright (C) 2015 Adafruit Industries
+ * Copyright (C) 2013 Christian Vogelgsang
+ */
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include "hx8357d.h"


I prefer to have the defines in the driver instead of an extra header file.
The reason is that usually only a handful of defines are actually used,
in this case it's 9.


+
+#define HX8357D_MADCTL_MY  0x80
+#define HX8357D_MADCTL_MX  0x40
+#define HX8357D_MADCTL_MV  0x20
+#define HX8357D_MADCTL_ML  0x10
+#define HX8357D_MADCTL_RGB 0x00
+#define HX8357D_MADCTL_BGR 0x08
+#define HX8357D_MADCTL_MH  0x04
+
+static void yx240qv29_enable(struct drm_simple_display_pipe *pipe,
+struct drm_crtc_state *crtc_state,
+struct drm_plane_state *plane_state)
+{
+   struct tinydrm_device *tdev = pipe_to_tinydrm(pipe);
+   struct mipi_dbi *mipi = mipi_dbi_from_tinydrm(tdev);
+   u8 addr_mode;
+   int ret;
+
+   DRM_DEBUG_KMS("\n");
+
+   ret = mipi_dbi_poweron_conditional_reset(mipi);
+   if (ret < 0)
+   return;
+   if (ret == 1)
+   goto out_enable;
+
+   /* setextc */
+   mipi_dbi_command(mipi, HX8357D_SETC, 0xFF, 0x83, 0x57);
+   msleep(150);
+
+   /* setRGB which also enables SDO */
+   mipi_dbi_command(mipi, HX8357_SETRGB, 0x00, 0x00, 0x06, 0x06);
+
+   /* -1.52V */
+   mipi_dbi_command(mipi, HX8357D_SETCOM, 0x25);
+
+   /* Normal mode 70Hz, Idle mode 55 Hz */
+   mipi_dbi_command(mipi, HX8357_SETOSC, 0x68);
+
+   /* Set Panel - BGR, Gate direction swapped */
+   mipi_dbi_command(mipi, HX8357_SETPANEL, 0x05);
+
+   mipi_dbi_command(mipi, HX8357_SETPWR1,
+0x00,  

Re: [PATCH 3/3] drm/tinydrm: Fix setting of the column/page end addresses.

2018-10-27 Thread Noralf Trønnes


Den 24.10.2018 20.43, skrev Eric Anholt:

If the clipped dirty region's x/y happened to align to 256, we would
have set the top 8 bits wrong.  Noticed by inspection, not by
reproducing a bug.

Signed-off-by: Eric Anholt 
---


Good catch.
Reviewed-by: Noralf Trønnes 


  drivers/gpu/drm/tinydrm/mipi-dbi.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/tinydrm/mipi-dbi.c 
b/drivers/gpu/drm/tinydrm/mipi-dbi.c
index cb3441e51d5f..1bb870021f6e 100644
--- a/drivers/gpu/drm/tinydrm/mipi-dbi.c
+++ b/drivers/gpu/drm/tinydrm/mipi-dbi.c
@@ -240,10 +240,10 @@ static int mipi_dbi_fb_dirty(struct drm_framebuffer *fb,
  
  	mipi_dbi_command(mipi, MIPI_DCS_SET_COLUMN_ADDRESS,

 (clip.x1 >> 8) & 0xFF, clip.x1 & 0xFF,
-(clip.x2 >> 8) & 0xFF, (clip.x2 - 1) & 0xFF);
+((clip.x2 - 1) >> 8) & 0xFF, (clip.x2 - 1) & 0xFF);
mipi_dbi_command(mipi, MIPI_DCS_SET_PAGE_ADDRESS,
 (clip.y1 >> 8) & 0xFF, clip.y1 & 0xFF,
-(clip.y2 >> 8) & 0xFF, (clip.y2 - 1) & 0xFF);
+((clip.y2 - 1) >> 8) & 0xFF, (clip.y2 - 1) & 0xFF);
  
  	ret = mipi_dbi_command_buf(mipi, MIPI_DCS_WRITE_MEMORY_START, tr,

(clip.x2 - clip.x1) * (clip.y2 - clip.y1) * 2);


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


Re: [PATCH] drm/tinydrm: Advertise that we can do only DRM_FORMAT_MOD_LINEAR.

2018-10-27 Thread Noralf Trønnes


Den 25.10.2018 18.26, skrev Eric Anholt:

Without this, the xserver relies on what the 3D driver exposes and
assumes that the display can handle it, and then the DRM driver
happily tries to scan out a tiled format.

Signed-off-by: Eric Anholt 
---
  drivers/gpu/drm/drm_simple_kms_helper.c | 8 
  drivers/gpu/drm/tinydrm/core/tinydrm-core.c | 1 +
  drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c | 6 +-
  3 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/drm_simple_kms_helper.c 
b/drivers/gpu/drm/drm_simple_kms_helper.c
index 51fa978f0d23..917812448d1b 100644
--- a/drivers/gpu/drm/drm_simple_kms_helper.c
+++ b/drivers/gpu/drm/drm_simple_kms_helper.c
@@ -190,6 +190,13 @@ static void drm_simple_kms_plane_cleanup_fb(struct 
drm_plane *plane,
pipe->funcs->cleanup_fb(pipe, state);
  }
  
+static bool drm_simple_kms_format_mod_supported(struct drm_plane *plane,

+   uint32_t format,
+   uint64_t modifier)
+{
+   return modifier == DRM_FORMAT_MOD_LINEAR;
+}
+


I assume this also works for the other drivers that use this helper.
A quick look at the code seems to support this assumption.
Format modifiers is something I've never looked at before.

Acked-by: Noralf Trønnes 


  static const struct drm_plane_helper_funcs drm_simple_kms_plane_helper_funcs 
= {
.prepare_fb = drm_simple_kms_plane_prepare_fb,
.cleanup_fb = drm_simple_kms_plane_cleanup_fb,
@@ -204,6 +211,7 @@ static const struct drm_plane_funcs 
drm_simple_kms_plane_funcs = {
.reset  = drm_atomic_helper_plane_reset,
.atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state,
.atomic_destroy_state   = drm_atomic_helper_plane_destroy_state,
+   .format_mod_supported   = drm_simple_kms_format_mod_supported,
  };
  
  /**

diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-core.c 
b/drivers/gpu/drm/tinydrm/core/tinydrm-core.c
index 255341ee4eb9..9af51d982a33 100644
--- a/drivers/gpu/drm/tinydrm/core/tinydrm-core.c
+++ b/drivers/gpu/drm/tinydrm/core/tinydrm-core.c
@@ -146,6 +146,7 @@ static int tinydrm_init(struct device *parent, struct 
tinydrm_device *tdev,
drm->dev_private = tdev;
drm_mode_config_init(drm);
drm->mode_config.funcs = &tinydrm_mode_config_funcs;
+   drm->mode_config.allow_fb_modifiers = true;
  
  	return 0;

  }
diff --git a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c 
b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c
index 7e8e24d0b7a7..eacfc0ec8ff1 100644
--- a/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c
+++ b/drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c
@@ -184,6 +184,10 @@ tinydrm_display_pipe_init(struct tinydrm_device *tdev,
struct drm_display_mode mode_copy;
struct drm_connector *connector;
int ret;
+   static const uint64_t modifiers[] = {
+   DRM_FORMAT_MOD_LINEAR,
+   DRM_FORMAT_MOD_INVALID
+   };
  
  	drm_mode_copy(&mode_copy, mode);

ret = tinydrm_rotate_mode(&mode_copy, rotation);
@@ -202,6 +206,6 @@ tinydrm_display_pipe_init(struct tinydrm_device *tdev,
return PTR_ERR(connector);
  
  	return drm_simple_display_pipe_init(drm, &tdev->pipe, funcs, formats,

-   format_count, NULL, connector);
+   format_count, modifiers, connector);
  }
  EXPORT_SYMBOL(tinydrm_display_pipe_init);


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


[radeon-alex:amd-staging-drm-next 709/711] drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu8_smumgr.c:76:3: error: 'val' undeclared

2018-10-27 Thread kbuild test robot
tree:   git://people.freedesktop.org/~agd5f/linux.git amd-staging-drm-next
head:   af1ad4786a34698ea5bc7a3e6fb833646b22c71d
commit: 97a7445714f44d2a978237281af297b299770f16 [709/711] drm/amdgpu: fix 
reporting of failed msg sent to SMU
config: i386-randconfig-j2-10212027 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
git checkout 97a7445714f44d2a978237281af297b299770f16
# save the attached .config to linux build tree
make ARCH=i386 

Note: the radeon-alex/amd-staging-drm-next HEAD 
af1ad4786a34698ea5bc7a3e6fb833646b22c71d builds fine.
  It only hurts bisectibility.

All errors (new ones prefixed by >>):

   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu8_smumgr.c: In function 
'smu8_send_msg_to_smc_async':
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu8_smumgr.c:67:11: error: 
expected identifier or '(' before '=' token
 uint32_t = val;
  ^
>> drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu8_smumgr.c:76:3: error: 
>> 'val' undeclared (first use in this function)
  val = cgs_read_register(hwmgr->device,
  ^
   drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu8_smumgr.c:76:3: note: 
each undeclared identifier is reported only once for each function it appears in

vim +/val +76 drivers/gpu/drm/amd/amdgpu/../powerplay/smumgr/smu8_smumgr.c

63  
64  static int smu8_send_msg_to_smc_async(struct pp_hwmgr *hwmgr, uint16_t 
msg)
65  {
66  int result = 0;
  > 67  uint32_t = val;
68  
69  if (hwmgr == NULL || hwmgr->device == NULL)
70  return -EINVAL;
71  
72  result = PHM_WAIT_FIELD_UNEQUAL(hwmgr,
73  SMU_MP1_SRBM2P_RESP_0, CONTENT, 
0);
74  if (result != 0) {
75  /* Read the last message to SMU, to report actual cause 
*/
  > 76  val = cgs_read_register(hwmgr->device,
77  mmSMU_MP1_SRBM2P_MSG_0);
78  pr_err("smu8_send_msg_to_smc_async (0x%04x) failed\n", 
msg);
79  pr_err("SMU still servicing msg (0x%04x)\n", val);
80  return result;
81  }
82  
83  cgs_write_register(hwmgr->device, mmSMU_MP1_SRBM2P_RESP_0, 0);
84  cgs_write_register(hwmgr->device, mmSMU_MP1_SRBM2P_MSG_0, msg);
85  
86  return 0;
87  }
88  

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation


.config.gz
Description: application/gzip
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 106427] RX560, 5k@60Hz, Xorg: Black screen, “soft” kernel lockup

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=106427

--- Comment #8 from txtoxtox...@googlemail.com ---
I have always wondered why 5k works in the frame buffer but not Xorg. 4.19
bring some progress in this regard and made things more consistent: Now the
console stays blank 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


[Bug 106427] RX560, 5k@60Hz, Xorg: Black screen, “soft” kernel lockup

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=106427

--- Comment #9 from txtoxtox...@googlemail.com ---
Created attachment 142235
  --> https://bugs.freedesktop.org/attachment.cgi?id=142235&action=edit
dmesg-4.19.0 with drm.debug=0x1ff

-- 
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 106427] RX560, 5k@60Hz, Xorg: Black screen, “soft” kernel lockup

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=106427

txtoxtox...@googlemail.com changed:

   What|Removed |Added

 Resolution|--- |NOTABUG
 Status|NEW |RESOLVED

-- 
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 105113] [hawaii, radeonsi, clover] Running Piglit cl/program/execute/{, tail-}calls{, -struct, -workitem-id}.cl cause GPU VM error and ring stalled GPU lockup

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=105113

--- Comment #4 from Maciej S. Szmigiero  ---
I have tested this hardware setup again with Mesa 18.2.3, LLVM 7.0.0,
kernel 4.19.0 and piglit from yesterday's git.
These tests no longer crash the GPU but fail anyway with various errors:

program@execute@calls-struct:
Error: 6 unsupported relocations
Expecting 1021 (0x3fd) with tolerance 0, but got 1 (0x1)
Error at int[0]
Argument 0: FAIL
Expecting 14 (0xe) with tolerance 0, but got 1 (0x1)
... and so for other arguments in this test.

program@execute@calls-workitem-id:
Error: 8 unsupported relocations
Could not wait for kernel to finish:
CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST
Unexpected CL error: CL_EXEC_STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST -14

program@execute@calls:
:1:2: error: instruction not supported on this GPU
v_lshlrev_b64 v[0:1], 44, 1

program@execute@tail-calls:
Expecting 4 (0x4) with tolerance 0, but got 0 (0x0)
Error at int[0]
Argument 0: FAIL
Running kernel test: Tail call with more arguments than caller
Using kernel kernel_call_tailcall_extra_arg
Setting kernel arguments...
Running the kernel...
Validating results...
Expecting 2 (0x2) with tolerance 0, but got 1 (0x1)
Error at int[0]
Argument 0: FAIL
Running kernel test: Tail call with fewer  arguments than acller
Using kernel kernel_call_tailcall_fewer_args
Setting kernel arguments...
Running the kernel...
Validating results...
Expecting 4 (0x4) with tolerance 0, but got 0 (0x0)
Error at int[0]
Argument 0: FAIL
... and so for other arguments and calls in this test.

-- 
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 105113] [hawaii, radeonsi, clover] Running Piglit cl/program/execute/{, tail-}calls{, -struct, -workitem-id}.cl cause GPU VM error and ring stalled GPU lockup

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=105113

Maciej S. Szmigiero  changed:

   What|Removed |Added

 Blocks||99553


Referenced Bugs:

https://bugs.freedesktop.org/show_bug.cgi?id=99553
[Bug 99553] Tracker bug for runnning OpenCL applications on Clover
-- 
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 108464] System fails to reboot after Ctrl-Alt-Del

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108464

--- Comment #10 from Duncan Roe  ---
(In reply to Alex Deucher from comment #1)
> Are you sure the bisect is correct?  This commit just changes debugfs which
> shouldn't be triggered unless you actually write to the file in question. 
> Please attach your xorg log (is using X) and dmesg output.

A fresh bisect in the stable tree has given a new pair of commits.
e1cb3e4801e6896ba93d63222b1052199d2a8c9b has the problem and
899e2aaddbfa0ff96fbaf31f0d9e91427e87dd88 does not have it. (In the stable tree,
30cdbfaa6aa469347db7fcda5949f1ccf7559ecf also has the problem, unlike in the
drm tree that I bisected previously).
A diff of the new commit pair shows 14 patched files. These are TODO, Makefile
and a mixture of .c and .h sources. I am unsure how to proceed with bisecting
these diffs: advice welcome.

-- 
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 108577] Black X laptop screen with cursor if HDMI not plugged in, bisected

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108577

Bug ID: 108577
   Summary: Black X laptop screen with cursor if HDMI not plugged
in, bisected
   Product: DRI
   Version: DRI git
  Hardware: x86-64 (AMD64)
OS: Linux (All)
Status: NEW
  Severity: blocker
  Priority: medium
 Component: DRM/AMDgpu
  Assignee: dri-devel@lists.freedesktop.org
  Reporter: duncan_...@optusnet.com.au

Created attachment 142239
  --> https://bugs.freedesktop.org/attachment.cgi?id=142239&action=edit
Git diff specifying 2 commits (GD is aliased to git diff)

(High severity because laptop is useless when travelling)
With HDMI unplugged, X laptop screen is black with only a cursor. Cursor
changes shape as it moves over xterm windows put there by xinitrc.
Bisecting in git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git finds
2bfb0b678e48dee76543bfa2079b7e42609332fb has the problem but adjacent commit
9c24c10a2c1e1bb478b6bb70612d9e885aee044f does not.
There is an oddity with git diff between these two: git diff 
 produces copious output and a git warning (see attachment), but git
checkout ; git diff  only shows one patched file (next
attachment). You might want to try this - I re-cloned the repo in case the old
one was corrupted but it made no difference.

-- 
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 108577] Black X laptop screen with cursor if HDMI not plugged in, bisected

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108577

--- Comment #1 from Duncan Roe  ---
Hardware is as in Bug 108139

-- 
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 108577] Black X laptop screen with cursor if HDMI not plugged in, bisected

2018-10-27 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=108577

Duncan Roe  changed:

   What|Removed |Added

 Status|NEW |NEEDINFO

--- Comment #2 from Duncan Roe  ---
Sorry guys, just noticed that after git checkout
2bfb0b678e48dee76543bfa2079b7e42609332fb I see a bunch of new commits that
weren't there before - will bisect

-- 
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 201439] Amdgpu: general protection fault at dce110_vblank_set in display resume

2018-10-27 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=201439

fin4...@hotmail.com changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|CODE_FIX|---

--- Comment #6 from fin4...@hotmail.com ---
I tested more latest wip kernel. Monitor blanking works in one minute but not
after 30 minutes. System freezes and no errors in the logs when waking up.

Monitor sleeping after 30 minutes and waking up causes system freeze and amdgpu
dmesg errors, attached.

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


[Bug 201439] Amdgpu: general protection fault at dce110_vblank_set in display resume

2018-10-27 Thread bugzilla-daemon
https://bugzilla.kernel.org/show_bug.cgi?id=201439

--- Comment #7 from fin4...@hotmail.com ---
Created attachment 279223
  --> https://bugzilla.kernel.org/attachment.cgi?id=279223&action=edit
dmesg errors when waking up after monitor sleep

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