Re: Plumbing explicit synchronization through the Linux ecosystem

2020-03-13 Thread Alexander E. Patrakov
On Thu, Mar 12, 2020 at 6:36 PM Jason Ekstrand  wrote:
> From the perspective of a Wayland compositor (I used to play in this
> space), they'd love to implement the new explicit sync extension but
> can't.  Sure, they could wire up the extension, but the moment they go
> to flip a client buffer to the screen directly, they discover that KMS
> doesn't support any explicit sync APIs.  So, yes, they can technically
> implement the extension assuming the EGL stack they're running on has
> the sync_file extensions but any client buffers which come in using
> the explicit sync Wayland extension have to be composited and can't be
> scanned out directly.  As a 3D driver developer, I absolutely don't
> want compositors doing that because my users will complain about
> performance issues due to the extra blit.


Maybe this is something for the Marketing Department to solve? Sell
the extra processing that can be done during such extra blit as a
feature?

As a former user of a wide-gamut monitor that has no sRGB mode, and a
gamer, I would definitely accept the extra step (color conversion, not
"just a blit"!) between the application and the actual output. In
fact, I have set up compicc just for this purpose. Games with
poisonous oversaturated colors (because none of the game authors care
about wide-gamut monitors) are worse than the same games affected by
the very small performance penalty due to the conversion.

We just need a Marketing Person to come up with a huge list of other
cases where such compositing step is required for correctness, and
declare that direct scanout is something that makes no sense in the
present day, except possibly on embedded devices.


Of course the above trolling does not solve the problem related to
inability to be sure about the correct API usage.

-- 
Alexander E. Patrakov
CV: http://pc.cd/PLz7
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel


Fixing the kernels backlight API

2014-02-13 Thread Alexander E. Patrakov
13.02.2014 04:26, David Herrmann wrote:
> The "attach" stuff actually sounds doable, but who decides which one
> to attach? You still need some user-space script during device-plug
> for that.
> But to be honest, the simplest way would be a "backlightd"
> bus-activatable daemon. SetBacklight() then takes a DRM-connector and
> brightness-value, which the daemon looks up in /sys and sets.. This
> has the advantage that we can do any fancy matching in user-space. We
> can provide quirks (maybe even via udev-hwdb) and other helpers for
> weird setups.

What would be done with Samsung monitors (like an old SyncMaster 770P) 
that have a DVI connection, no physical buttons and have to be 
controlled via DDC-CI? Currently, ddccontrol works (via /dev/i2c-*), but 
only from root. I would like this use case to be covered in such a way 
that it could work both in Xorg and in Wayland, and, if possible, 
without races related to i2c usage from the kernel and from userspace.

-- 
Alexander E. Patrakov


Ugly lockdep trace after radeon drm-next patches

2013-06-28 Thread Alexander E. Patrakov
_ich
[   40.727787] ACPI Warning: 0xa040-0xa05f
SystemIO conflicts with Region \_SB_.PCI0.SBUS.SMBI 1
(20130328/utaddress-251)
[   40.727791] ACPI: If an ACPI driver is available for this device,
you should use it instead of the native driver
[   40.729390] iTCO_vendor_support: vendor-support=0
[   40.730317] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.10
[   40.730361] iTCO_wdt: unable to reset NO_REBOOT flag, device
disabled by hardware/BIOS
[   41.214667] radeon :16:00.0: fence driver on ring 5 use gpu
addr 0x00072118 and cpu addr 0xc90023466118
[   41.214672] [drm] GART: num cpu pages 131072, num gpu pages 131072
[   41.215052] [drm] enabling PCIE gen 2 link speeds, disable with
radeon.pcie_gen2=0
[   41.219006] [drm] Loading TURKS Microcode
[   41.221557] ni_cp: Failed to load firmware "radeon/TURKS_smc.bin"
[   41.221566] [drm:evergreen_startup] *ERROR* Failed to load firmware!
[   41.221568] radeon :16:00.0: disabling GPU acceleration
[   41.222741] INFO: trying to register non-static key.
[   41.222763] the code is fine but needs lockdep annotation.
[   41.222781] turning off the locking correctness validator.
[   41.222800] CPU: 2 PID: 644 Comm: udevd Not tainted 3.10.0-rc7-rafael+ #25
[   41.222821] Hardware name: Sony Corporation VPCZ23A4R/VAIO, BIOS
R1013H5 05/21/2012
[   41.222845]  88025350 8802521f97d8 8165b7ae
8802521f98c8
[   41.222876]  810a033e 8802521f98d8 0002
8802
[   41.222907]  8802  0006
8802521f9868
[   41.222938] Call Trace:
[   41.222952]  [] dump_stack+0x19/0x1b
[   41.222971]  [] __lock_acquire+0x181e/0x1ee0
[   41.222990]  [] ? mark_held_locks+0x61/0x150
[   41.223010]  [] ? retint_restore_args+0xe/0xe
[   41.223029]  [] ? trace_hardirqs_on_caller+0x105/0x1d0
[   41.223053]  [] ? trace_hardirqs_on_thunk+0x3a/0x3f
[   41.223076]  [] ? queue_delayed_work_on+0xa0/0xa0
[   41.223096]  [] lock_acquire+0x87/0x150
[   41.223114]  [] ? queue_delayed_work_on+0xa0/0xa0
[   41.223136]  [] flush_work+0x38/0x270
[   41.223154]  [] ? queue_delayed_work_on+0xa0/0xa0
[   41.223174]  [] ? delay_tsc+0x82/0xe0
[   41.223215]  [] ? r600_rlc_stop+0x29/0xa0 [radeon]
[   41.223251]  [] radeon_irq_kms_fini+0x2a/0x60 [radeon]
[   41.223289]  [] evergreen_init+0x2ca/0x300 [radeon]
[   41.223322]  [] radeon_device_init+0x65c/0x760 [radeon]
[   41.223355]  [] radeon_driver_load_kms+0x8d/0x160 [radeon]
[   41.223386]  [] drm_get_pci_dev+0x181/0x290 [drm]
[   41.223408]  [] ? kfree+0xe8/0x250
[   41.223436]  [] radeon_pci_probe+0xa3/0xd0 [radeon]
[   41.223457]  [] local_pci_probe+0x46/0x80
[   41.223476]  [] pci_device_probe+0xf9/0x120
[   41.223497]  [] driver_probe_device+0x76/0x220
[   41.223518]  [] __driver_attach+0xa3/0xb0
[   41.223537]  [] ? driver_probe_device+0x220/0x220
[   41.223557]  [] bus_for_each_dev+0x5e/0x90
[   41.223577]  [] driver_attach+0x19/0x20
[   41.223596]  [] bus_add_driver+0xf1/0x260
[   41.223615]  [] driver_register+0x75/0x150
[   41.223635]  [] __pci_register_driver+0x5f/0x70
[   41.223655]  [] ? 0xa06b7fff
[   41.223678]  [] drm_pci_init+0x11a/0x130 [drm]
[   41.223698]  [] ? 0xa06b7fff
[   41.223725]  [] radeon_init+0x9c/0xba [radeon]
[   41.224292]  [] do_one_initcall+0x3a/0x160
[   41.224867]  [] load_module+0x1b56/0x2370
[   41.225454]  [] ? sys_getegid16+0x50/0x50
[   41.226033]  [] SyS_finit_module+0x86/0x90
[   41.226604]  [] system_call_fastpath+0x1a/0x1f
[   41.227215] radeon :16:00.0: 88024e458800 unpin not necessary
[   41.227819] radeon :16:00.0: 88024e458800 unpin not necessary
[   41.228502] [drm:evergreen_init] *ERROR* radeon: MC ucode required for NI+.
[   41.229135] radeon :16:00.0: Fatal error during GPU init
[   41.229760] [drm] radeon: finishing device.
[   41.231516] radeon :16:00.0: fence driver on ring 5 use gpu
addr 0x00072118 and cpu addr 0xc9002389c118
[   41.232379] [TTM] Finalizing pool allocator
[   41.233092] [TTM] Finalizing DMA pool allocator
[   41.233830] [TTM] Zone  kernel: Used memory at exit: 0 kiB
[   41.234558] [TTM] Zone   dma32: Used memory at exit: 0 kiB
[   41.235298] [drm] radeon: ttm finalized
[   41.236259] radeon: probe of :16:00.0 failed with error -22
[   41.237155] hda-intel :16:00.1: Handle VGA-switcheroo audio client
[   41.238357] snd_hda_intel :16:00.1: irq 71 for MSI/MSI-X
[   41.242954] input: HD-Audio Generic HDMI/DP,pcm=3 as
/devices/pci0000:00/0000:00:1c.6/:08:00.0/:0a:04.0/:14:00.0/:15:03.0/:16:00.1/sound/card1/input13

-- 
Alexander E. Patrakov
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Ugly lockdep trace after radeon drm-next patches

2013-06-27 Thread Alexander E. Patrakov
_ich
[   40.727787] ACPI Warning: 0xa040-0xa05f
SystemIO conflicts with Region \_SB_.PCI0.SBUS.SMBI 1
(20130328/utaddress-251)
[   40.727791] ACPI: If an ACPI driver is available for this device,
you should use it instead of the native driver
[   40.729390] iTCO_vendor_support: vendor-support=0
[   40.730317] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.10
[   40.730361] iTCO_wdt: unable to reset NO_REBOOT flag, device
disabled by hardware/BIOS
[   41.214667] radeon :16:00.0: fence driver on ring 5 use gpu
addr 0x00072118 and cpu addr 0xc90023466118
[   41.214672] [drm] GART: num cpu pages 131072, num gpu pages 131072
[   41.215052] [drm] enabling PCIE gen 2 link speeds, disable with
radeon.pcie_gen2=0
[   41.219006] [drm] Loading TURKS Microcode
[   41.221557] ni_cp: Failed to load firmware "radeon/TURKS_smc.bin"
[   41.221566] [drm:evergreen_startup] *ERROR* Failed to load firmware!
[   41.221568] radeon :16:00.0: disabling GPU acceleration
[   41.222741] INFO: trying to register non-static key.
[   41.222763] the code is fine but needs lockdep annotation.
[   41.222781] turning off the locking correctness validator.
[   41.222800] CPU: 2 PID: 644 Comm: udevd Not tainted 3.10.0-rc7-rafael+ #25
[   41.222821] Hardware name: Sony Corporation VPCZ23A4R/VAIO, BIOS
R1013H5 05/21/2012
[   41.222845]  88025350 8802521f97d8 8165b7ae
8802521f98c8
[   41.222876]  810a033e 8802521f98d8 0002
8802
[   41.222907]  8802  0006
8802521f9868
[   41.222938] Call Trace:
[   41.222952]  [] dump_stack+0x19/0x1b
[   41.222971]  [] __lock_acquire+0x181e/0x1ee0
[   41.222990]  [] ? mark_held_locks+0x61/0x150
[   41.223010]  [] ? retint_restore_args+0xe/0xe
[   41.223029]  [] ? trace_hardirqs_on_caller+0x105/0x1d0
[   41.223053]  [] ? trace_hardirqs_on_thunk+0x3a/0x3f
[   41.223076]  [] ? queue_delayed_work_on+0xa0/0xa0
[   41.223096]  [] lock_acquire+0x87/0x150
[   41.223114]  [] ? queue_delayed_work_on+0xa0/0xa0
[   41.223136]  [] flush_work+0x38/0x270
[   41.223154]  [] ? queue_delayed_work_on+0xa0/0xa0
[   41.223174]  [] ? delay_tsc+0x82/0xe0
[   41.223215]  [] ? r600_rlc_stop+0x29/0xa0 [radeon]
[   41.223251]  [] radeon_irq_kms_fini+0x2a/0x60 [radeon]
[   41.223289]  [] evergreen_init+0x2ca/0x300 [radeon]
[   41.223322]  [] radeon_device_init+0x65c/0x760 [radeon]
[   41.223355]  [] radeon_driver_load_kms+0x8d/0x160 [radeon]
[   41.223386]  [] drm_get_pci_dev+0x181/0x290 [drm]
[   41.223408]  [] ? kfree+0xe8/0x250
[   41.223436]  [] radeon_pci_probe+0xa3/0xd0 [radeon]
[   41.223457]  [] local_pci_probe+0x46/0x80
[   41.223476]  [] pci_device_probe+0xf9/0x120
[   41.223497]  [] driver_probe_device+0x76/0x220
[   41.223518]  [] __driver_attach+0xa3/0xb0
[   41.223537]  [] ? driver_probe_device+0x220/0x220
[   41.223557]  [] bus_for_each_dev+0x5e/0x90
[   41.223577]  [] driver_attach+0x19/0x20
[   41.223596]  [] bus_add_driver+0xf1/0x260
[   41.223615]  [] driver_register+0x75/0x150
[   41.223635]  [] __pci_register_driver+0x5f/0x70
[   41.223655]  [] ? 0xa06b7fff
[   41.223678]  [] drm_pci_init+0x11a/0x130 [drm]
[   41.223698]  [] ? 0xa06b7fff
[   41.223725]  [] radeon_init+0x9c/0xba [radeon]
[   41.224292]  [] do_one_initcall+0x3a/0x160
[   41.224867]  [] load_module+0x1b56/0x2370
[   41.225454]  [] ? sys_getegid16+0x50/0x50
[   41.226033]  [] SyS_finit_module+0x86/0x90
[   41.226604]  [] system_call_fastpath+0x1a/0x1f
[   41.227215] radeon :16:00.0: 88024e458800 unpin not necessary
[   41.227819] radeon :16:00.0: 88024e458800 unpin not necessary
[   41.228502] [drm:evergreen_init] *ERROR* radeon: MC ucode required for NI+.
[   41.229135] radeon :16:00.0: Fatal error during GPU init
[   41.229760] [drm] radeon: finishing device.
[   41.231516] radeon :16:00.0: fence driver on ring 5 use gpu
addr 0x00072118 and cpu addr 0xc9002389c118
[   41.232379] [TTM] Finalizing pool allocator
[   41.233092] [TTM] Finalizing DMA pool allocator
[   41.233830] [TTM] Zone  kernel: Used memory at exit: 0 kiB
[   41.234558] [TTM] Zone   dma32: Used memory at exit: 0 kiB
[   41.235298] [drm] radeon: ttm finalized
[   41.236259] radeon: probe of :16:00.0 failed with error -22
[   41.237155] hda-intel :16:00.1: Handle VGA-switcheroo audio client
[   41.238357] snd_hda_intel :16:00.1: irq 71 for MSI/MSI-X
[   41.242954] input: HD-Audio Generic HDMI/DP,pcm=3 as
/devices/pci0000:00/0000:00:1c.6/:08:00.0/:0a:04.0/:14:00.0/:15:03.0/:16:00.1/sound/card1/input13

-- 
Alexander E. Patrakov