Re: [PATCH v6 0/9] Fix cursor planes with virtualized drivers

2023-11-24 Thread Javier Martinez Canillas
Albert Esteve  writes:

> v6: Shift DRIVER_CURSOR_HOTSPOT flag bit to BIT(9), since BIT(8)
> was already taken by DRIVER_GEM_GPUVA.
>
> v5: Add a change with documentation from Michael, based on his discussion
> with Pekka and bump the kernel version DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT
> might be introduced with to 6.6.
>
> v4: Make drm_plane_create_hotspot_properties static, rename
> DRM_CLIENT_CAP_VIRTUALIZED_CURSOR_PLANE to DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT
> and some minor stylistic fixes for things found by Javier and Pekka
> in v3.
>
> v3: Renames, fixes and cleanups suggested by Daniel, Simon and Pekka
> after v2. There's no major changes in functionality. Please let me know
> if I missed anything, it's been a while since v2.
>
> Virtualized drivers have had a lot of issues with cursor support on top
> of atomic modesetting. This set both fixes the long standing problems
> with atomic kms and virtualized drivers and adds code to let userspace
> use atomic kms on virtualized drivers while preserving functioning
> seamless cursors between the host and guest.
>
> The first change in the set is one that should be backported as far as
> possible, likely 5.4 stable, because earlier stable kernels do not have
> virtualbox driver. The change makes virtualized drivers stop exposing
> a cursor plane for atomic clients, this fixes mouse cursor on all well
> formed compositors which will automatically fallback to software cursor.
>
> The rest of the changes until the last one ports the legacy hotspot code
> to atomic plane properties.
>
> Finally the last change introduces userspace API to let userspace
> clients advertise the fact that they are aware of additional restrictions
> placed upon the cursor plane by virtualized drivers and lets them use
> atomic kms with virtualized drivers (the clients are expected to set
> hotspots correctly when advertising support for virtual cursor plane).
>
> Link to the IGT test covering this patch (already merged):
> https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html
>
> Mutter patch:
> https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html
>
> Michael Banack (1):
>   drm: Introduce documentation for hotspot properties
>
> Zack Rusin (8):
>   drm: Disable the cursor plane on atomic contexts with virtualized
> drivers
>   drm/atomic: Add support for mouse hotspots
>   drm/vmwgfx: Use the hotspot properties from cursor planes
>   drm/qxl: Use the hotspot properties from cursor planes
>   drm/vboxvideo: Use the hotspot properties from cursor planes
>   drm/virtio: Use the hotspot properties from cursor planes
>   drm: Remove legacy cursor hotspot code
>   drm: Introduce DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT
>

Pushed to drm-misc (drm-misc-next). Thanks!

-- 
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat



Re: [PATCH v6 0/9] Fix cursor planes with virtualized drivers

2023-11-24 Thread Javier Martinez Canillas
Simon Ser  writes:

Hello Simon,

> On Wednesday, November 22nd, 2023 at 13:49, Javier Martinez Canillas 
>  wrote:
>
>> Any objections to merge the series ?
>
> No objections from me :)
>

Perfect, I'll merge this series then to unblock the mutter MR. Thanks again!

-- 
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat




Re: [PATCH v6 0/9] Fix cursor planes with virtualized drivers

2023-11-23 Thread Simon Ser
On Wednesday, November 22nd, 2023 at 13:49, Javier Martinez Canillas 
 wrote:

> Any objections to merge the series ?

No objections from me :)


Re: [PATCH v6 0/9] Fix cursor planes with virtualized drivers

2023-11-22 Thread Javier Martinez Canillas
Albert Esteve  writes:

Hello,

[...]

>
>> > Mutter patch:
>> > https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html
>>
>> Seems like this link is same as IGT? Copy-pasta fail maybe?
>>
>>
> Ah yes, my bad, this is the correct link:
> https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3337

The mutter chages are already in good shape and the MR has even be
approved by a mutter developer. Any objections to merge the series ?

-- 
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat



Re: [PATCH v6 0/9] Fix cursor planes with virtualized drivers

2023-10-23 Thread Simon Ser
On Monday, October 23rd, 2023 at 10:14, Albert Esteve  
wrote:

> On Mon, Oct 23, 2023 at 9:55 AM Simon Ser  wrote:
> 
> > On Monday, October 23rd, 2023 at 09:46, Albert Esteve  
> > wrote:
> > 
> > > Link to the IGT test covering this patch (already merged):
> > > https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html
> > 
> > Hmm. IGT should not be merged before the kernel, because as long as the
> > kernel is not merged there might be some uAPI changes.
> 
> Right, but uAPI header was not updated on the IGT side. As per suggestion of 
> the
> maintainers, I added a static variable that matches the definition on this 
> patch:
> https://lists.freedesktop.org/archives/igt-dev/2023-August/058803.html
> 
> +/**
> + * Clients which do set cursor hotspot and treat the cursor plane
> + * like a mouse cursor should set this property.
> + */
> +#define LOCAL_DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT6
> 
> Once this patch gets upstreamed, the localized definition will be removed,
> replaced by the real one.

What if this patch gets delayed and another patch using the same number
is merged into the kernel first? What if someone finds a design flaw in
the uAPI and it needs to be completely changed? The IGT test would then
be completely broken.

As a rule of thumb: never merge user-space patches before kernel. As
soon as the kernel part is merged, it's fine to locally copy definitions
if desirable.

> > > Mutter patch:
> > > https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html
> > 
> > Seems like this link is same as IGT? Copy-pasta fail maybe?
> 
> Ah yes, my bad, this is the correct link:
> https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3337

Thanks!


Re: [PATCH v6 0/9] Fix cursor planes with virtualized drivers

2023-10-23 Thread Albert Esteve
On Mon, Oct 23, 2023 at 9:55 AM Simon Ser  wrote:

> On Monday, October 23rd, 2023 at 09:46, Albert Esteve 
> wrote:
>
> > Link to the IGT test covering this patch (already merged):
> > https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html
>
> Hmm. IGT should not be merged before the kernel, because as long as the
> kernel is not merged there might be some uAPI changes.
>

Right, but uAPI header was not updated on the IGT side. As per suggestion
of the
maintainers, I added a static variable that matches the definition on this
patch:
https://lists.freedesktop.org/archives/igt-dev/2023-August/058803.html

+/**
+ * Clients which do set cursor hotspot and treat the cursor plane
+ * like a mouse cursor should set this property.
+ */
+#define LOCAL_DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT  6


Once this patch gets upstreamed, the localized definition will be removed,
replaced by the real one.


> > Mutter patch:
> > https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html
>
> Seems like this link is same as IGT? Copy-pasta fail maybe?
>
>
Ah yes, my bad, this is the correct link:
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3337


Re: [PATCH v6 0/9] Fix cursor planes with virtualized drivers

2023-10-23 Thread Simon Ser
On Monday, October 23rd, 2023 at 09:46, Albert Esteve  
wrote:

> Link to the IGT test covering this patch (already merged):
> https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html

Hmm. IGT should not be merged before the kernel, because as long as the
kernel is not merged there might be some uAPI changes.

> Mutter patch:
> https://lists.freedesktop.org/archives/igt-dev/2023-July/058427.html

Seems like this link is same as IGT? Copy-pasta fail maybe?