All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper
@ 2023-01-23  7:44 Jouni Högander
  2023-01-23  8:38 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/fbdev: Implement fb_dirty for intel custom fb helper (rev4) Patchwork
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Jouni Högander @ 2023-01-23  7:44 UTC (permalink / raw)
  To: intel-gfx; +Cc: Jani Nikula, Thomas Zimmermann

After disconnecting damage worker from update logic it's left to fbdev
emulation implementation to have fb_dirty function. Currently intel
fbdev doesn't have it. This is causing problems to features (PSR, FBC,
DRRS) relying on dirty callback.

Implement simple fb_dirty callback to deliver notifications about updates
in fb console.

v4: Add proper Fixes tag and modify commit message
v3: Check damage clip
v2: Improved commit message and added Fixes tag

Fixes: f231af498c29 ("drm/fb-helper: Disconnect damage worker from update logic")
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
---
 drivers/gpu/drm/i915/display/intel_fbdev.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c
index 19f3b5d92a55..d39db8050c69 100644
--- a/drivers/gpu/drm/i915/display/intel_fbdev.c
+++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
@@ -321,8 +321,20 @@ static int intelfb_create(struct drm_fb_helper *helper,
 	return ret;
 }
 
+static int intelfb_dirty(struct drm_fb_helper *helper, struct drm_clip_rect *clip)
+{
+	if (!(clip->x1 < clip->x2 && clip->y1 < clip->y2))
+		return 0;
+
+	if (helper->fb->funcs->dirty)
+		return helper->fb->funcs->dirty(helper->fb, NULL, 0, 0, clip, 1);
+
+	return 0;
+}
+
 static const struct drm_fb_helper_funcs intel_fb_helper_funcs = {
 	.fb_probe = intelfb_create,
+	.fb_dirty = intelfb_dirty,
 };
 
 static void intel_fbdev_destroy(struct intel_fbdev *ifbdev)
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/fbdev: Implement fb_dirty for intel custom fb helper (rev4)
  2023-01-23  7:44 [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper Jouni Högander
@ 2023-01-23  8:38 ` Patchwork
  2023-01-23 11:38 ` [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper Thomas Zimmermann
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2023-01-23  8:38 UTC (permalink / raw)
  To: Hogander, Jouni; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 5397 bytes --]

== Series Details ==

Series: drm/i915/fbdev: Implement fb_dirty for intel custom fb helper (rev4)
URL   : https://patchwork.freedesktop.org/series/111433/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12619 -> Patchwork_111433v4
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/index.html

Participating hosts (37 -> 35)
------------------------------

  Additional (1): fi-bsw-kefka 
  Missing    (3): fi-kbl-soraka fi-rkl-11600 fi-snb-2520m 

Known issues
------------

  Here are the changes found in Patchwork_111433v4 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live@gt_mocs:
    - fi-rkl-guc:         NOTRUN -> [INCOMPLETE][1] ([i915#4983])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/fi-rkl-guc/igt@i915_selftest@live@gt_mocs.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions:
    - fi-bsw-n3050:       [PASS][2] -> [FAIL][3] ([i915#6298])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/fi-bsw-n3050/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/fi-bsw-n3050/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html

  * igt@prime_vgem@basic-fence-flip:
    - fi-bsw-kefka:       NOTRUN -> [SKIP][4] ([fdo#109271]) +26 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/fi-bsw-kefka/igt@prime_vgem@basic-fence-flip.html

  * igt@runner@aborted:
    - fi-blb-e6850:       NOTRUN -> [FAIL][5] ([i915#4312])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/fi-blb-e6850/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@i915_pm_rpm@module-reload:
    - {bat-adls-5}:       [FAIL][6] -> [PASS][7]
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/bat-adls-5/igt@i915_pm_rpm@module-reload.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/bat-adls-5/igt@i915_pm_rpm@module-reload.html

  * igt@i915_selftest@live@migrate:
    - {bat-dg2-11}:       [DMESG-WARN][8] ([i915#7699]) -> [PASS][9]
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/bat-dg2-11/igt@i915_selftest@live@migrate.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/bat-dg2-11/igt@i915_selftest@live@migrate.html

  * igt@i915_selftest@live@reset:
    - {bat-rpls-2}:       [DMESG-FAIL][10] ([i915#4983]) -> [PASS][11]
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/bat-rpls-2/igt@i915_selftest@live@reset.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/bat-rpls-2/igt@i915_selftest@live@reset.html
    - {bat-rpls-1}:       [DMESG-FAIL][12] ([i915#4983]) -> [PASS][13]
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/bat-rpls-1/igt@i915_selftest@live@reset.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/bat-rpls-1/igt@i915_selftest@live@reset.html

  * igt@i915_selftest@live@workarounds:
    - fi-rkl-guc:         [INCOMPLETE][14] ([i915#4983]) -> [PASS][15]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/fi-rkl-guc/igt@i915_selftest@live@workarounds.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/fi-rkl-guc/igt@i915_selftest@live@workarounds.html

  * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-3:
    - {bat-dg2-11}:       [INCOMPLETE][16] -> [PASS][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/bat-dg2-11/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-3.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/bat-dg2-11/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-a-hdmi-a-3.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298
  [i915#6763]: https://gitlab.freedesktop.org/drm/intel/issues/6763
  [i915#6997]: https://gitlab.freedesktop.org/drm/intel/issues/6997
  [i915#7359]: https://gitlab.freedesktop.org/drm/intel/issues/7359
  [i915#7625]: https://gitlab.freedesktop.org/drm/intel/issues/7625
  [i915#7699]: https://gitlab.freedesktop.org/drm/intel/issues/7699
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828


Build changes
-------------

  * Linux: CI_DRM_12619 -> Patchwork_111433v4

  CI-20190529: 20190529
  CI_DRM_12619: 7d3e7f64a42d66ba8da6e7b66a8d85457ef84570 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7129: 7816773163a1b0d248dd9dd34d14e632ad8903be @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_111433v4: 7d3e7f64a42d66ba8da6e7b66a8d85457ef84570 @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

960be7a80df1 drm/i915/fbdev: Implement fb_dirty for intel custom fb helper

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/index.html

[-- Attachment #2: Type: text/html, Size: 6060 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper
  2023-01-23  7:44 [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper Jouni Högander
  2023-01-23  8:38 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/fbdev: Implement fb_dirty for intel custom fb helper (rev4) Patchwork
@ 2023-01-23 11:38 ` Thomas Zimmermann
  2023-01-23 12:20   ` Hogander, Jouni
  2023-01-23 16:56 ` [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/fbdev: Implement fb_dirty for intel custom fb helper (rev4) Patchwork
  2023-02-03 11:40 ` [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper Ville Syrjälä
  3 siblings, 1 reply; 9+ messages in thread
From: Thomas Zimmermann @ 2023-01-23 11:38 UTC (permalink / raw)
  To: Jouni Högander, intel-gfx; +Cc: Jani Nikula


[-- Attachment #1.1: Type: text/plain, Size: 2337 bytes --]

Hi

Am 23.01.23 um 08:44 schrieb Jouni Högander:
> After disconnecting damage worker from update logic it's left to fbdev
> emulation implementation to have fb_dirty function. Currently intel
> fbdev doesn't have it. This is causing problems to features (PSR, FBC,
> DRRS) relying on dirty callback.
> 
> Implement simple fb_dirty callback to deliver notifications about updates
> in fb console.
> 
> v4: Add proper Fixes tag and modify commit message
> v3: Check damage clip
> v2: Improved commit message and added Fixes tag
> 
> Fixes: f231af498c29 ("drm/fb-helper: Disconnect damage worker from update logic")
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> ---
>   drivers/gpu/drm/i915/display/intel_fbdev.c | 12 ++++++++++++
>   1 file changed, 12 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c
> index 19f3b5d92a55..d39db8050c69 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
> @@ -321,8 +321,20 @@ static int intelfb_create(struct drm_fb_helper *helper,
>   	return ret;
>   }
>   
> +static int intelfb_dirty(struct drm_fb_helper *helper, struct drm_clip_rect *clip)
> +{
> +	if (!(clip->x1 < clip->x2 && clip->y1 < clip->y2))
> +		return 0;
> +
> +	if (helper->fb->funcs->dirty)
> +		return helper->fb->funcs->dirty(helper->fb, NULL, 0, 0, clip, 1);

Didn't I nack this approach already? You shouldn't set fb_dirty. The 
better solution was to implement i915-specific helpers for write, 
fillarea, copyarea and blit. Those should call intelfb_dirty() directly 
after performing the output.  And IIRC you already implemented this.

Best regards
Thomas

> +
> +	return 0;
> +}
> +
>   static const struct drm_fb_helper_funcs intel_fb_helper_funcs = {
>   	.fb_probe = intelfb_create,
> +	.fb_dirty = intelfb_dirty,
>   };
>   
>   static void intel_fbdev_destroy(struct intel_fbdev *ifbdev)

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper
  2023-01-23 11:38 ` [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper Thomas Zimmermann
@ 2023-01-23 12:20   ` Hogander, Jouni
  2023-01-23 12:22     ` Hogander, Jouni
  2023-01-23 13:29     ` Thomas Zimmermann
  0 siblings, 2 replies; 9+ messages in thread
From: Hogander, Jouni @ 2023-01-23 12:20 UTC (permalink / raw)
  To: intel-gfx, tzimmermann; +Cc: Nikula, Jani

On Mon, 2023-01-23 at 12:38 +0100, Thomas Zimmermann wrote:
> Hi
> 
> Am 23.01.23 um 08:44 schrieb Jouni Högander:
> > After disconnecting damage worker from update logic it's left to
> > fbdev
> > emulation implementation to have fb_dirty function. Currently intel
> > fbdev doesn't have it. This is causing problems to features (PSR,
> > FBC,
> > DRRS) relying on dirty callback.
> > 
> > Implement simple fb_dirty callback to deliver notifications about
> > updates
> > in fb console.
> > 
> > v4: Add proper Fixes tag and modify commit message
> > v3: Check damage clip
> > v2: Improved commit message and added Fixes tag
> > 
> > Fixes: f231af498c29 ("drm/fb-helper: Disconnect damage worker from
> > update logic")
> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > Cc: Thomas Zimmermann <tzimmermann@suse.de>
> > Cc: Jani Nikula <jani.nikula@intel.com>
> > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > ---
> >   drivers/gpu/drm/i915/display/intel_fbdev.c | 12 ++++++++++++
> >   1 file changed, 12 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c
> > b/drivers/gpu/drm/i915/display/intel_fbdev.c
> > index 19f3b5d92a55..d39db8050c69 100644
> > --- a/drivers/gpu/drm/i915/display/intel_fbdev.c
> > +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
> > @@ -321,8 +321,20 @@ static int intelfb_create(struct drm_fb_helper
> > *helper,
> >         return ret;
> >   }
> >   
> > +static int intelfb_dirty(struct drm_fb_helper *helper, struct
> > drm_clip_rect *clip)
> > +{
> > +       if (!(clip->x1 < clip->x2 && clip->y1 < clip->y2))
> > +               return 0;
> > +
> > +       if (helper->fb->funcs->dirty)
> > +               return helper->fb->funcs->dirty(helper->fb, NULL,
> > 0, 0, clip, 1);
> 
> Didn't I nack this approach already? You shouldn't set fb_dirty. The 
> better solution was to implement i915-specific helpers for write, 
> fillarea, copyarea and blit. Those should call intelfb_dirty()
> directly 
> after performing the output.  And IIRC you already implemented this.

I have implemented such thing. I didn't took it as a nack back then.
Last comment from you was:

"if you go with fb_dirty, please implement the clipping 
test in your callback."

and v3 was prepared to address that comment. My thinking was that this
is only for fb console, but Ville Syrjälä commented that there is more
than console so I sticked in this approach.

So you think I should just drop idea of setting dirty callback and
implement those i915-specific helpers?

> 
> Best regards
> Thomas
> 
> > +
> > +       return 0;
> > +}
> > +
> >   static const struct drm_fb_helper_funcs intel_fb_helper_funcs = {
> >         .fb_probe = intelfb_create,
> > +       .fb_dirty = intelfb_dirty,
> >   };
> >   
> >   static void intel_fbdev_destroy(struct intel_fbdev *ifbdev)
> 
> -- 
> Thomas Zimmermann
> Graphics Driver Developer
> SUSE Software Solutions Germany GmbH
> Maxfeldstr. 5, 90409 Nürnberg, Germany
> (HRB 36809, AG Nürnberg)
> Geschäftsführer: Ivo Totev


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper
  2023-01-23 12:20   ` Hogander, Jouni
@ 2023-01-23 12:22     ` Hogander, Jouni
  2023-01-23 13:29     ` Thomas Zimmermann
  1 sibling, 0 replies; 9+ messages in thread
From: Hogander, Jouni @ 2023-01-23 12:22 UTC (permalink / raw)
  To: intel-gfx, tzimmermann; +Cc: Nikula, Jani

On Mon, 2023-01-23 at 14:20 +0200, Jouni Högander wrote:
> On Mon, 2023-01-23 at 12:38 +0100, Thomas Zimmermann wrote:
> > Hi
> > 
> > Am 23.01.23 um 08:44 schrieb Jouni Högander:
> > > After disconnecting damage worker from update logic it's left to
> > > fbdev
> > > emulation implementation to have fb_dirty function. Currently
> > > intel
> > > fbdev doesn't have it. This is causing problems to features (PSR,
> > > FBC,
> > > DRRS) relying on dirty callback.
> > > 
> > > Implement simple fb_dirty callback to deliver notifications about
> > > updates
> > > in fb console.
> > > 
> > > v4: Add proper Fixes tag and modify commit message
> > > v3: Check damage clip
> > > v2: Improved commit message and added Fixes tag
> > > 
> > > Fixes: f231af498c29 ("drm/fb-helper: Disconnect damage worker
> > > from
> > > update logic")
> > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > > Cc: Thomas Zimmermann <tzimmermann@suse.de>
> > > Cc: Jani Nikula <jani.nikula@intel.com>
> > > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > > ---
> > >   drivers/gpu/drm/i915/display/intel_fbdev.c | 12 ++++++++++++
> > >   1 file changed, 12 insertions(+)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c
> > > b/drivers/gpu/drm/i915/display/intel_fbdev.c
> > > index 19f3b5d92a55..d39db8050c69 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_fbdev.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
> > > @@ -321,8 +321,20 @@ static int intelfb_create(struct
> > > drm_fb_helper
> > > *helper,
> > >         return ret;
> > >   }
> > >   
> > > +static int intelfb_dirty(struct drm_fb_helper *helper, struct
> > > drm_clip_rect *clip)
> > > +{
> > > +       if (!(clip->x1 < clip->x2 && clip->y1 < clip->y2))
> > > +               return 0;
> > > +
> > > +       if (helper->fb->funcs->dirty)
> > > +               return helper->fb->funcs->dirty(helper->fb, NULL,
> > > 0, 0, clip, 1);
> > 
> > Didn't I nack this approach already? You shouldn't set fb_dirty.
> > The 
> > better solution was to implement i915-specific helpers for write, 
> > fillarea, copyarea and blit. Those should call intelfb_dirty()
> > directly 
> > after performing the output.  And IIRC you already implemented
> > this.
> 
> I have implemented such thing. I didn't took it as a nack back then.

Meant to say "I haven't implemented such thing". Sorry for the typo.

> Last comment from you was:
> 
> "if you go with fb_dirty, please implement the clipping 
> test in your callback."
> 
> and v3 was prepared to address that comment. My thinking was that
> this
> is only for fb console, but Ville Syrjälä commented that there is
> more
> than console so I sticked in this approach.
> 
> So you think I should just drop idea of setting dirty callback and
> implement those i915-specific helpers?
> 
> > 
> > Best regards
> > Thomas
> > 
> > > +
> > > +       return 0;
> > > +}
> > > +
> > >   static const struct drm_fb_helper_funcs intel_fb_helper_funcs =
> > > {
> > >         .fb_probe = intelfb_create,
> > > +       .fb_dirty = intelfb_dirty,
> > >   };
> > >   
> > >   static void intel_fbdev_destroy(struct intel_fbdev *ifbdev)
> > 
> > -- 
> > Thomas Zimmermann
> > Graphics Driver Developer
> > SUSE Software Solutions Germany GmbH
> > Maxfeldstr. 5, 90409 Nürnberg, Germany
> > (HRB 36809, AG Nürnberg)
> > Geschäftsführer: Ivo Totev
> 


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper
  2023-01-23 12:20   ` Hogander, Jouni
  2023-01-23 12:22     ` Hogander, Jouni
@ 2023-01-23 13:29     ` Thomas Zimmermann
  2023-01-23 14:35       ` Hogander, Jouni
  1 sibling, 1 reply; 9+ messages in thread
From: Thomas Zimmermann @ 2023-01-23 13:29 UTC (permalink / raw)
  To: Hogander, Jouni, intel-gfx; +Cc: Nikula, Jani


[-- Attachment #1.1: Type: text/plain, Size: 3888 bytes --]

Hi

Am 23.01.23 um 13:20 schrieb Hogander, Jouni:
> On Mon, 2023-01-23 at 12:38 +0100, Thomas Zimmermann wrote:
>> Hi
>>
>> Am 23.01.23 um 08:44 schrieb Jouni Högander:
>>> After disconnecting damage worker from update logic it's left to
>>> fbdev
>>> emulation implementation to have fb_dirty function. Currently intel
>>> fbdev doesn't have it. This is causing problems to features (PSR,
>>> FBC,
>>> DRRS) relying on dirty callback.
>>>
>>> Implement simple fb_dirty callback to deliver notifications about
>>> updates
>>> in fb console.
>>>
>>> v4: Add proper Fixes tag and modify commit message
>>> v3: Check damage clip
>>> v2: Improved commit message and added Fixes tag
>>>
>>> Fixes: f231af498c29 ("drm/fb-helper: Disconnect damage worker from
>>> update logic")
>>> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
>>> Cc: Thomas Zimmermann <tzimmermann@suse.de>
>>> Cc: Jani Nikula <jani.nikula@intel.com>
>>> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
>>> ---
>>>    drivers/gpu/drm/i915/display/intel_fbdev.c | 12 ++++++++++++
>>>    1 file changed, 12 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c
>>> b/drivers/gpu/drm/i915/display/intel_fbdev.c
>>> index 19f3b5d92a55..d39db8050c69 100644
>>> --- a/drivers/gpu/drm/i915/display/intel_fbdev.c
>>> +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
>>> @@ -321,8 +321,20 @@ static int intelfb_create(struct drm_fb_helper
>>> *helper,
>>>          return ret;
>>>    }
>>>    
>>> +static int intelfb_dirty(struct drm_fb_helper *helper, struct
>>> drm_clip_rect *clip)
>>> +{
>>> +       if (!(clip->x1 < clip->x2 && clip->y1 < clip->y2))
>>> +               return 0;
>>> +
>>> +       if (helper->fb->funcs->dirty)
>>> +               return helper->fb->funcs->dirty(helper->fb, NULL,
>>> 0, 0, clip, 1);
>>
>> Didn't I nack this approach already? You shouldn't set fb_dirty. The
>> better solution was to implement i915-specific helpers for write,
>> fillarea, copyarea and blit. Those should call intelfb_dirty()
>> directly
>> after performing the output.  And IIRC you already implemented this.
> 
> I have implemented such thing. I didn't took it as a nack back then.
> Last comment from you was:
> 
> "if you go with fb_dirty, please implement the clipping
> test in your callback."
> 
> and v3 was prepared to address that comment. My thinking was that this
> is only for fb console, but Ville Syrjälä commented that there is more
> than console so I sticked in this approach.
> 
> So you think I should just drop idea of setting dirty callback and
> implement those i915-specific helpers?

Ah OK, so I remembered incorrectly.

A few things have changed since my original comment and I worked on 
fbdev helper a bit.  The thing is that fb_dirty will likely go away at 
some point (together with the rest of drm_fb_helper_funcs). IOW at some 
point, you'll need those i915 functions anyways. Not using fb_dirty now 
will safe that work later on.

Best regards
Thomas

> 
>>
>> Best regards
>> Thomas
>>
>>> +
>>> +       return 0;
>>> +}
>>> +
>>>    static const struct drm_fb_helper_funcs intel_fb_helper_funcs = {
>>>          .fb_probe = intelfb_create,
>>> +       .fb_dirty = intelfb_dirty,
>>>    };
>>>    
>>>    static void intel_fbdev_destroy(struct intel_fbdev *ifbdev)
>>
>> -- 
>> Thomas Zimmermann
>> Graphics Driver Developer
>> SUSE Software Solutions Germany GmbH
>> Maxfeldstr. 5, 90409 Nürnberg, Germany
>> (HRB 36809, AG Nürnberg)
>> Geschäftsführer: Ivo Totev
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper
  2023-01-23 13:29     ` Thomas Zimmermann
@ 2023-01-23 14:35       ` Hogander, Jouni
  0 siblings, 0 replies; 9+ messages in thread
From: Hogander, Jouni @ 2023-01-23 14:35 UTC (permalink / raw)
  To: intel-gfx, tzimmermann; +Cc: Nikula, Jani

On Mon, 2023-01-23 at 14:29 +0100, Thomas Zimmermann wrote:
> Hi
> 
> Am 23.01.23 um 13:20 schrieb Hogander, Jouni:
> > On Mon, 2023-01-23 at 12:38 +0100, Thomas Zimmermann wrote:
> > > Hi
> > > 
> > > Am 23.01.23 um 08:44 schrieb Jouni Högander:
> > > > After disconnecting damage worker from update logic it's left
> > > > to
> > > > fbdev
> > > > emulation implementation to have fb_dirty function. Currently
> > > > intel
> > > > fbdev doesn't have it. This is causing problems to features
> > > > (PSR,
> > > > FBC,
> > > > DRRS) relying on dirty callback.
> > > > 
> > > > Implement simple fb_dirty callback to deliver notifications
> > > > about
> > > > updates
> > > > in fb console.
> > > > 
> > > > v4: Add proper Fixes tag and modify commit message
> > > > v3: Check damage clip
> > > > v2: Improved commit message and added Fixes tag
> > > > 
> > > > Fixes: f231af498c29 ("drm/fb-helper: Disconnect damage worker
> > > > from
> > > > update logic")
> > > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > > > Cc: Thomas Zimmermann <tzimmermann@suse.de>
> > > > Cc: Jani Nikula <jani.nikula@intel.com>
> > > > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > > > ---
> > > >    drivers/gpu/drm/i915/display/intel_fbdev.c | 12 ++++++++++++
> > > >    1 file changed, 12 insertions(+)
> > > > 
> > > > diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c
> > > > b/drivers/gpu/drm/i915/display/intel_fbdev.c
> > > > index 19f3b5d92a55..d39db8050c69 100644
> > > > --- a/drivers/gpu/drm/i915/display/intel_fbdev.c
> > > > +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
> > > > @@ -321,8 +321,20 @@ static int intelfb_create(struct
> > > > drm_fb_helper
> > > > *helper,
> > > >          return ret;
> > > >    }
> > > >    
> > > > +static int intelfb_dirty(struct drm_fb_helper *helper, struct
> > > > drm_clip_rect *clip)
> > > > +{
> > > > +       if (!(clip->x1 < clip->x2 && clip->y1 < clip->y2))
> > > > +               return 0;
> > > > +
> > > > +       if (helper->fb->funcs->dirty)
> > > > +               return helper->fb->funcs->dirty(helper->fb,
> > > > NULL,
> > > > 0, 0, clip, 1);
> > > 
> > > Didn't I nack this approach already? You shouldn't set fb_dirty.
> > > The
> > > better solution was to implement i915-specific helpers for write,
> > > fillarea, copyarea and blit. Those should call intelfb_dirty()
> > > directly
> > > after performing the output.  And IIRC you already implemented
> > > this.
> > 
> > I have implemented such thing. I didn't took it as a nack back
> > then.
> > Last comment from you was:
> > 
> > "if you go with fb_dirty, please implement the clipping
> > test in your callback."
> > 
> > and v3 was prepared to address that comment. My thinking was that
> > this
> > is only for fb console, but Ville Syrjälä commented that there is
> > more
> > than console so I sticked in this approach.
> > 
> > So you think I should just drop idea of setting dirty callback and
> > implement those i915-specific helpers?
> 
> Ah OK, so I remembered incorrectly.
> 
> A few things have changed since my original comment and I worked on 
> fbdev helper a bit.  The thing is that fb_dirty will likely go away
> at 
> some point (together with the rest of drm_fb_helper_funcs). IOW at
> some 
> point, you'll need those i915 functions anyways. Not using fb_dirty
> now 
> will safe that work later on.

Ok, I will modify the patch accordingly.

> 
> Best regards
> Thomas
> 
> > 
> > > 
> > > Best regards
> > > Thomas
> > > 
> > > > +
> > > > +       return 0;
> > > > +}
> > > > +
> > > >    static const struct drm_fb_helper_funcs
> > > > intel_fb_helper_funcs = {
> > > >          .fb_probe = intelfb_create,
> > > > +       .fb_dirty = intelfb_dirty,
> > > >    };
> > > >    
> > > >    static void intel_fbdev_destroy(struct intel_fbdev *ifbdev)
> > > 
> > > -- 
> > > Thomas Zimmermann
> > > Graphics Driver Developer
> > > SUSE Software Solutions Germany GmbH
> > > Maxfeldstr. 5, 90409 Nürnberg, Germany
> > > (HRB 36809, AG Nürnberg)
> > > Geschäftsführer: Ivo Totev
> > 
> 
> -- 
> Thomas Zimmermann
> Graphics Driver Developer
> SUSE Software Solutions Germany GmbH
> Maxfeldstr. 5, 90409 Nürnberg, Germany
> (HRB 36809, AG Nürnberg)
> Geschäftsführer: Ivo Totev


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/fbdev: Implement fb_dirty for intel custom fb helper (rev4)
  2023-01-23  7:44 [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper Jouni Högander
  2023-01-23  8:38 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/fbdev: Implement fb_dirty for intel custom fb helper (rev4) Patchwork
  2023-01-23 11:38 ` [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper Thomas Zimmermann
@ 2023-01-23 16:56 ` Patchwork
  2023-02-03 11:40 ` [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper Ville Syrjälä
  3 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2023-01-23 16:56 UTC (permalink / raw)
  To: Hogander, Jouni; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 25598 bytes --]

== Series Details ==

Series: drm/i915/fbdev: Implement fb_dirty for intel custom fb helper (rev4)
URL   : https://patchwork.freedesktop.org/series/111433/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12619_full -> Patchwork_111433v4_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/index.html

Participating hosts (11 -> 10)
------------------------------

  Additional (1): shard-tglu-9 
  Missing    (2): pig-skl-6260u pig-kbl-iris 

New tests
---------

  New tests have been introduced between CI_DRM_12619_full and Patchwork_111433v4_full:

### New IGT tests (6) ###

  * igt@gem_exec_schedule@noreorder-priority@vcs1:
    - Statuses : 1 pass(s)
    - Exec time: [0.0] s

  * igt@gem_spin_batch@engines@vcs1:
    - Statuses : 2 pass(s)
    - Exec time: [0.0] s

  * igt@gem_spin_batch@resubmit-new@vcs1:
    - Statuses : 2 pass(s)
    - Exec time: [0.0] s

  * igt@i915_hangman@detector@vcs1:
    - Statuses : 1 pass(s)
    - Exec time: [0.0] s

  * igt@i915_hangman@engine-engine-hang@vcs1:
    - Statuses : 2 pass(s)
    - Exec time: [0.0] s

  * igt@i915_hangman@engine-error-state-capture@vcs1:
    - Statuses : 1 pass(s)
    - Exec time: [0.0] s

  

Known issues
------------

  Here are the changes found in Patchwork_111433v4_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_fair@basic-deadline:
    - shard-glk:          NOTRUN -> [FAIL][1] ([i915#2846])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-glk5/igt@gem_exec_fair@basic-deadline.html

  * igt@gem_lmem_swapping@heavy-verify-random:
    - shard-glk:          NOTRUN -> [SKIP][2] ([fdo#109271] / [i915#4613])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-glk5/igt@gem_lmem_swapping@heavy-verify-random.html

  * igt@kms_ccs@pipe-b-bad-pixel-format-y_tiled_gen12_mc_ccs:
    - shard-glk:          NOTRUN -> [SKIP][3] ([fdo#109271] / [i915#3886]) +4 similar issues
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-glk5/igt@kms_ccs@pipe-b-bad-pixel-format-y_tiled_gen12_mc_ccs.html

  * igt@kms_ccs@pipe-d-ccs-on-another-bo-yf_tiled_ccs:
    - shard-glk:          NOTRUN -> [SKIP][4] ([fdo#109271]) +41 similar issues
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-glk5/igt@kms_ccs@pipe-d-ccs-on-another-bo-yf_tiled_ccs.html

  * igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size:
    - shard-glk:          [PASS][5] -> [FAIL][6] ([i915#2346])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-glk1/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-glk3/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions-varying-size.html

  * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ac-hdmi-a1-hdmi-a2:
    - shard-glk:          [PASS][7] -> [FAIL][8] ([i915#2122])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-glk6/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ac-hdmi-a1-hdmi-a2.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-glk7/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible@ac-hdmi-a1-hdmi-a2.html

  * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a1:
    - shard-glk:          [PASS][9] -> [FAIL][10] ([i915#79]) +1 similar issue
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-glk9/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a1.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-glk6/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a1.html

  * igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area:
    - shard-glk:          NOTRUN -> [SKIP][11] ([fdo#109271] / [i915#658])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-glk5/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area.html

  * igt@kms_vblank@pipe-b-accuracy-idle:
    - shard-glk:          [PASS][12] -> [FAIL][13] ([i915#43])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-glk1/igt@kms_vblank@pipe-b-accuracy-idle.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-glk9/igt@kms_vblank@pipe-b-accuracy-idle.html

  * igt@kms_writeback@writeback-fb-id:
    - shard-glk:          NOTRUN -> [SKIP][14] ([fdo#109271] / [i915#2437])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-glk5/igt@kms_writeback@writeback-fb-id.html

  * igt@sysfs_clients@fair-0:
    - shard-glk:          NOTRUN -> [SKIP][15] ([fdo#109271] / [i915#2994])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-glk5/igt@sysfs_clients@fair-0.html

  
#### Possible fixes ####

  * igt@fbdev@info:
    - {shard-rkl}:        [SKIP][16] ([i915#2582]) -> [PASS][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-rkl-5/igt@fbdev@info.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-rkl-6/igt@fbdev@info.html

  * igt@gem_eio@reset-stress:
    - {shard-dg1}:        [FAIL][18] ([i915#5784]) -> [PASS][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-dg1-17/igt@gem_eio@reset-stress.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-dg1-17/igt@gem_eio@reset-stress.html

  * igt@gem_exec_fair@basic-none@vcs0:
    - shard-glk:          [FAIL][20] ([i915#2842]) -> [PASS][21]
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-glk2/igt@gem_exec_fair@basic-none@vcs0.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-glk2/igt@gem_exec_fair@basic-none@vcs0.html

  * igt@gem_pwrite@basic-self:
    - {shard-rkl}:        [SKIP][22] ([i915#3282]) -> [PASS][23] +3 similar issues
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-rkl-4/igt@gem_pwrite@basic-self.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-rkl-5/igt@gem_pwrite@basic-self.html

  * igt@gem_userptr_blits@relocations:
    - {shard-rkl}:        [SKIP][24] ([i915#3281]) -> [PASS][25] +4 similar issues
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-rkl-3/igt@gem_userptr_blits@relocations.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-rkl-5/igt@gem_userptr_blits@relocations.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-glk:          [DMESG-WARN][26] ([i915#5566] / [i915#716]) -> [PASS][27]
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-glk2/igt@gen9_exec_parse@allowed-single.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-glk5/igt@gen9_exec_parse@allowed-single.html

  * igt@gen9_exec_parse@bb-chained:
    - {shard-rkl}:        [SKIP][28] ([i915#2527]) -> [PASS][29] +1 similar issue
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-rkl-3/igt@gen9_exec_parse@bb-chained.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-rkl-5/igt@gen9_exec_parse@bb-chained.html

  * igt@i915_pm_dc@dc6-dpms:
    - {shard-rkl}:        [SKIP][30] ([i915#3361]) -> [PASS][31]
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-rkl-5/igt@i915_pm_dc@dc6-dpms.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-rkl-1/igt@i915_pm_dc@dc6-dpms.html

  * igt@i915_pm_rc6_residency@rc6-idle@vcs0:
    - {shard-rkl}:        [WARN][32] ([i915#2681]) -> [PASS][33]
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-rkl-5/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-rkl-2/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html

  * igt@i915_pm_rpm@i2c:
    - {shard-rkl}:        [SKIP][34] ([fdo#109308]) -> [PASS][35]
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-rkl-5/igt@i915_pm_rpm@i2c.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-rkl-6/igt@i915_pm_rpm@i2c.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-180:
    - {shard-tglu}:       [SKIP][36] ([i915#7651]) -> [PASS][37] +5 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-tglu-6/igt@kms_big_fb@x-tiled-8bpp-rotate-180.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-tglu-4/igt@kms_big_fb@x-tiled-8bpp-rotate-180.html

  * igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip:
    - {shard-rkl}:        [SKIP][38] ([i915#1845] / [i915#4098]) -> [PASS][39] +20 similar issues
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-rkl-5/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-rkl-6/igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-0-hflip-async-flip.html

  * igt@kms_fbcon_fbt@fbc:
    - shard-glk:          [FAIL][40] ([i915#4767]) -> [PASS][41]
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-glk3/igt@kms_fbcon_fbt@fbc.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-glk4/igt@kms_fbcon_fbt@fbc.html

  * igt@kms_fence_pin_leak:
    - {shard-tglu}:       [SKIP][42] ([fdo#109274] / [i915#1845]) -> [PASS][43]
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-tglu-6/igt@kms_fence_pin_leak.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-tglu-4/igt@kms_fence_pin_leak.html

  * igt@kms_force_connector_basic@force-edid:
    - {shard-dg1}:        [DMESG-WARN][44] -> [PASS][45] +1 similar issue
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-dg1-15/igt@kms_force_connector_basic@force-edid.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-dg1-18/igt@kms_force_connector_basic@force-edid.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render:
    - {shard-tglu}:       [SKIP][46] ([i915#1849]) -> [PASS][47] +3 similar issues
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-tglu-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-tglu-4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-badstride:
    - {shard-rkl}:        [SKIP][48] ([i915#1849] / [i915#4098]) -> [PASS][49] +11 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-rkl-5/igt@kms_frontbuffer_tracking@fbc-badstride.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-badstride.html

  * igt@kms_plane@plane-position-hole@pipe-b-planes:
    - {shard-tglu}:       [SKIP][50] ([i915#1849] / [i915#3558]) -> [PASS][51] +1 similar issue
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-tglu-6/igt@kms_plane@plane-position-hole@pipe-b-planes.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-tglu-4/igt@kms_plane@plane-position-hole@pipe-b-planes.html

  * igt@kms_properties@crtc-properties-legacy:
    - {shard-rkl}:        [SKIP][52] ([i915#1849]) -> [PASS][53] +3 similar issues
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-rkl-5/igt@kms_properties@crtc-properties-legacy.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-rkl-6/igt@kms_properties@crtc-properties-legacy.html

  * igt@kms_psr@cursor_blt:
    - {shard-rkl}:        [SKIP][54] ([i915#1072]) -> [PASS][55] +1 similar issue
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-rkl-5/igt@kms_psr@cursor_blt.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-rkl-6/igt@kms_psr@cursor_blt.html

  * igt@kms_vblank@pipe-a-ts-continuation-modeset:
    - {shard-tglu}:       [SKIP][56] ([i915#1845] / [i915#7651]) -> [PASS][57]
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-tglu-6/igt@kms_vblank@pipe-a-ts-continuation-modeset.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-tglu-4/igt@kms_vblank@pipe-a-ts-continuation-modeset.html

  * igt@perf@gen12-oa-tlb-invalidate:
    - {shard-rkl}:        [SKIP][58] ([fdo#109289]) -> [PASS][59] +1 similar issue
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-rkl-5/igt@perf@gen12-oa-tlb-invalidate.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-rkl-6/igt@perf@gen12-oa-tlb-invalidate.html

  * igt@testdisplay:
    - {shard-rkl}:        [SKIP][60] ([i915#4098]) -> [PASS][61]
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12619/shard-rkl-5/igt@testdisplay.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/shard-rkl-6/igt@testdisplay.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103375]: https://bugs.freedesktop.org/show_bug.cgi?id=103375
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302
  [fdo#109303]: https://bugs.freedesktop.org/show_bug.cgi?id=109303
  [fdo#109307]: https://bugs.freedesktop.org/show_bug.cgi?id=109307
  [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308
  [fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
  [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
  [fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313
  [fdo#109314]: https://bugs.freedesktop.org/show_bug.cgi?id=109314
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110542]: https://bugs.freedesktop.org/show_bug.cgi?id=110542
  [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
  [fdo#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
  [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722
  [i915#1755]: https://gitlab.freedesktop.org/drm/intel/issues/1755
  [i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434
  [i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#284]: https://gitlab.freedesktop.org/drm/intel/issues/284
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
  [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
  [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
  [i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3361]: https://gitlab.freedesktop.org/drm/intel/issues/3361
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
  [i915#3528]: https://gitlab.freedesktop.org/drm/intel/issues/3528
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
  [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3936]: https://gitlab.freedesktop.org/drm/intel/issues/3936
  [i915#3952]: https://gitlab.freedesktop.org/drm/intel/issues/3952
  [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#3966]: https://gitlab.freedesktop.org/drm/intel/issues/3966
  [i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989
  [i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4213]: https://gitlab.freedesktop.org/drm/intel/issues/4213
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#426]: https://gitlab.freedesktop.org/drm/intel/issues/426
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#43]: https://gitlab.freedesktop.org/drm/intel/issues/43
  [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#454]: https://gitlab.freedesktop.org/drm/intel/issues/454
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767
  [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
  [i915#4778]: https://gitlab.freedesktop.org/drm/intel/issues/4778
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4874]: https://gitlab.freedesktop.org/drm/intel/issues/4874
  [i915#4877]: https://gitlab.freedesktop.org/drm/intel/issues/4877
  [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880
  [i915#4881]: https://gitlab.freedesktop.org/drm/intel/issues/4881
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#5327]: https://gitlab.freedesktop.org/drm/intel/issues/5327
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
  [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
  [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
  [i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
  [i915#5608]: https://gitlab.freedesktop.org/drm/intel/issues/5608
  [i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
  [i915#5775]: https://gitlab.freedesktop.org/drm/intel/issues/5775
  [i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230
  [i915#6245]: https://gitlab.freedesktop.org/drm/intel/issues/6245
  [i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248
  [i915#6252]: https://gitlab.freedesktop.org/drm/intel/issues/6252
  [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
  [i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
  [i915#6344]: https://gitlab.freedesktop.org/drm/intel/issues/6344
  [i915#6412]: https://gitlab.freedesktop.org/drm/intel/issues/6412
  [i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
  [i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590
  [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
  [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
  [i915#6946]: https://gitlab.freedesktop.org/drm/intel/issues/6946
  [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953
  [i915#7052]: https://gitlab.freedesktop.org/drm/intel/issues/7052
  [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
  [i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7582]: https://gitlab.freedesktop.org/drm/intel/issues/7582
  [i915#7651]: https://gitlab.freedesktop.org/drm/intel/issues/7651
  [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
  [i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701
  [i915#7707]: https://gitlab.freedesktop.org/drm/intel/issues/7707
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79


Build changes
-------------

  * Linux: CI_DRM_12619 -> Patchwork_111433v4
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_12619: 7d3e7f64a42d66ba8da6e7b66a8d85457ef84570 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7129: 7816773163a1b0d248dd9dd34d14e632ad8903be @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_111433v4: 7d3e7f64a42d66ba8da6e7b66a8d85457ef84570 @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_111433v4/index.html

[-- Attachment #2: Type: text/html, Size: 18475 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper
  2023-01-23  7:44 [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper Jouni Högander
                   ` (2 preceding siblings ...)
  2023-01-23 16:56 ` [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/fbdev: Implement fb_dirty for intel custom fb helper (rev4) Patchwork
@ 2023-02-03 11:40 ` Ville Syrjälä
  3 siblings, 0 replies; 9+ messages in thread
From: Ville Syrjälä @ 2023-02-03 11:40 UTC (permalink / raw)
  To: Jouni Högander; +Cc: Jani Nikula, intel-gfx, Thomas Zimmermann

On Mon, Jan 23, 2023 at 09:44:37AM +0200, Jouni Högander wrote:
> After disconnecting damage worker from update logic it's left to fbdev
> emulation implementation to have fb_dirty function. Currently intel
> fbdev doesn't have it. This is causing problems to features (PSR, FBC,
> DRRS) relying on dirty callback.
> 
> Implement simple fb_dirty callback to deliver notifications about updates
> in fb console.
> 
> v4: Add proper Fixes tag and modify commit message
> v3: Check damage clip
> v2: Improved commit message and added Fixes tag
> 
> Fixes: f231af498c29 ("drm/fb-helper: Disconnect damage worker from update logic")
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>

Pushed this to get the regression actually fixed. Thanks.

> ---
>  drivers/gpu/drm/i915/display/intel_fbdev.c | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c
> index 19f3b5d92a55..d39db8050c69 100644
> --- a/drivers/gpu/drm/i915/display/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c
> @@ -321,8 +321,20 @@ static int intelfb_create(struct drm_fb_helper *helper,
>  	return ret;
>  }
>  
> +static int intelfb_dirty(struct drm_fb_helper *helper, struct drm_clip_rect *clip)
> +{
> +	if (!(clip->x1 < clip->x2 && clip->y1 < clip->y2))
> +		return 0;
> +
> +	if (helper->fb->funcs->dirty)
> +		return helper->fb->funcs->dirty(helper->fb, NULL, 0, 0, clip, 1);
> +
> +	return 0;
> +}
> +
>  static const struct drm_fb_helper_funcs intel_fb_helper_funcs = {
>  	.fb_probe = intelfb_create,
> +	.fb_dirty = intelfb_dirty,
>  };
>  
>  static void intel_fbdev_destroy(struct intel_fbdev *ifbdev)
> -- 
> 2.34.1

-- 
Ville Syrjälä
Intel

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-02-03 11:40 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-23  7:44 [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper Jouni Högander
2023-01-23  8:38 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/fbdev: Implement fb_dirty for intel custom fb helper (rev4) Patchwork
2023-01-23 11:38 ` [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper Thomas Zimmermann
2023-01-23 12:20   ` Hogander, Jouni
2023-01-23 12:22     ` Hogander, Jouni
2023-01-23 13:29     ` Thomas Zimmermann
2023-01-23 14:35       ` Hogander, Jouni
2023-01-23 16:56 ` [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/fbdev: Implement fb_dirty for intel custom fb helper (rev4) Patchwork
2023-02-03 11:40 ` [Intel-gfx] [PATCH v4] drm/i915/fbdev: Implement fb_dirty for intel custom fb helper Ville Syrjälä

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.