Re: [RFC v1 3/4] swiotlb: Allow dynamic allocation of bounce buffers

From: Petr Tesařík
Date: Fri Mar 31 2023 - 05:07:02 EST


Hi Juerg,

On Fri, 31 Mar 2023 07:26:09 +0000
Juerg Haefliger <juergh@xxxxxxxxx> wrote:

> On Tue, 28 Mar 2023 09:54:35 +0200
> Petr Tesarik <petrtesarik@xxxxxxxxxxxxxxx> wrote:
>
>[...]
> > Anyway, I suspected that the buffers need not be imported into the vc4
> > driver (also hinted by Eric Anholt in a 2018 blog post [1]), and it
> > seems I was right. I encountered the issue with Ubuntu 22.10; I
> > installed latest openSUSE Tumbleweed yesterday, and I was not able to
> > reproduce the issue there, most likely because the Mesa drivers have
> > been fixed meanwhile. This makes the specific case of the Raspberry Pi 4
> > drivers moot. The issue may still affect other combinations of drivers,
> > but I don't have any other real-world example ATM.
>
> I'm only seeing this problem with Wayland, no issue when switching Ubuntu to
> X. It seems Tumbleweed is using X by default.

I know; I was the team lead of SUSE low-level graphics engineers until
end of last year... I have just double-checked, but this output of
wayland-info in the GNOME session accessed over RDP is quite convincing:

interface: 'wl_compositor', version: 5, name: 1
interface: 'wl_shm', version: 1, name: 2
formats (fourcc):
0x48344258 = 'XB4H'
0x48344241 = 'AB4H'
0x48345258 = 'XR4H'
0x48345241 = 'AR4H'
0x30334258 = 'XB30'
0x30334241 = 'AB30'
0x30335258 = 'XR30'
0x30335241 = 'AR30'
0x36314752 = 'RG16'
0x34324258 = 'XB24'
0x34324241 = 'AB24'
1 = 'XR24'
0 = 'AR24'
interface: 'wl_output', version: 3, name: 3
x: 0, y: 0, scale: 1,
physical_width: 430 mm, physical_height: 270 mm,
make: 'FUS', model: 'P20W-5 ECO',
subpixel_orientation: unknown, output_transform: normal,
mode:
width: 1680 px, height: 1050 px, refresh: 59.954 Hz,
flags: current preferred
interface: 'zxdg_output_manager_v1', version: 3, name: 4
xdg_output_v1
output: 3
name: 'HDMI-1'
description: 'Fujitsu Siemens Computers GmbH 20"'
logical_x: 0, logical_y: 0
logical_width: 1680, logical_height: 1050
interface: 'wl_data_device_manager', version: 3, name: 5
interface: 'zwp_primary_selection_device_manager_v1', version: 1, name: 6
interface: 'wl_subcompositor', version: 1, name: 7
interface: 'xdg_wm_base', version: 4, name: 8
interface: 'gtk_shell1', version: 5, name: 9
interface: 'wp_viewporter', version: 1, name: 10
interface: 'zwp_pointer_gestures_v1', version: 3, name: 11
interface: 'zwp_tablet_manager_v2', version: 1, name: 12
interface: 'wl_seat', version: 8, name: 13
name: seat0
capabilities: pointer keyboard
keyboard repeat rate: 33
keyboard repeat delay: 500
interface: 'zwp_relative_pointer_manager_v1', version: 1, name: 14
interface: 'zwp_pointer_constraints_v1', version: 1, name: 15
interface: 'zxdg_exporter_v1', version: 1, name: 16
interface: 'zxdg_importer_v1', version: 1, name: 17
interface: 'zwp_linux_dmabuf_v1', version: 3, name: 18
formats (fourcc) and modifiers (names):
0x48344258 = 'XB4H'; 0x00ffffffffffffff = INVALID
0x48344241 = 'AB4H'; 0x00ffffffffffffff = INVALID
0x36314752 = 'RG16'; 0x00ffffffffffffff = INVALID
0x30334258 = 'XB30'; 0x00ffffffffffffff = INVALID
0x30335258 = 'XR30'; 0x00ffffffffffffff = INVALID
0x30334241 = 'AB30'; 0x00ffffffffffffff = INVALID
0x30335241 = 'AR30'; 0x00ffffffffffffff = INVALID
0x34324258 = 'XB24'; 0x00ffffffffffffff = INVALID
0x34325258 = 'XR24'; 0x00ffffffffffffff = INVALID
0x34324241 = 'AB24'; 0x00ffffffffffffff = INVALID
0x34325241 = 'AR24'; 0x00ffffffffffffff = INVALID
interface: 'wp_single_pixel_buffer_manager_v1', version: 1, name: 19
interface: 'zwp_keyboard_shortcuts_inhibit_manager_v1', version: 1, name: 20
interface: 'zwp_text_input_manager_v3', version: 1, name: 21
interface: 'wp_presentation', version: 1, name: 22
presentation clock id: 1 (CLOCK_MONOTONIC)
interface: 'xdg_activation_v1', version: 1, name: 23

Petr T