All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Kazlauskas, Nicholas" <nicholas.kazlauskas@amd.com>
To: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Cc: Hersen Wu <hersenxs.wu@amd.com>,
	Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org
Subject: Re: [PATCH 2/7] drm/amd/display: Reset plane when tiling flags change
Date: Thu, 6 Aug 2020 14:18:01 -0400	[thread overview]
Message-ID: <1261225a-9ce1-0f21-ca93-f51282b47cf6@amd.com> (raw)
In-Reply-To: <20200805211114.m5iw6f5usj2b2yrt@outlook.office365.com>

On 2020-08-05 5:11 p.m., Rodrigo Siqueira wrote:
> On 07/30, Nicholas Kazlauskas wrote:
>> [Why]
>> Enabling or disable DCC or switching between tiled and linear formats
>> can require bandwidth updates.
>>
>> They're currently skipping all DC validation by being treated as purely
>> surface updates.
>>
>> [How]
>> Treat tiling_flag changes (which encode DCC state) as a condition for
>> resetting the plane.
>>
>> Cc: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
>> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
>> Cc: Hersen Wu <hersenxs.wu@amd.com>
>> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
>> ---
>>   .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 19 ++++++++++++++++---
>>   1 file changed, 16 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> index 7cc5ab90ce13..bf1881bd492c 100644
>> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> @@ -8332,6 +8332,8 @@ static bool should_reset_plane(struct drm_atomic_state *state,
>>   	 * TODO: Come up with a more elegant solution for this.
>>   	 */
>>   	for_each_oldnew_plane_in_state(state, other, old_other_state, new_other_state, i) {
>> +		struct dm_plane_state *old_dm_plane_state, *new_dm_plane_state;
>> +
>>   		if (other->type == DRM_PLANE_TYPE_CURSOR)
>>   			continue;
>>   
>> @@ -8342,9 +8344,20 @@ static bool should_reset_plane(struct drm_atomic_state *state,
>>   		if (old_other_state->crtc != new_other_state->crtc)
>>   			return true;
>>   
>> -		/* TODO: Remove this once we can handle fast format changes. */
>> -		if (old_other_state->fb && new_other_state->fb &&
>> -		    old_other_state->fb->format != new_other_state->fb->format)
>> +		/* Framebuffer checks fall at the end. */
>> +		if (!old_other_state->fb || !new_other_state->fb)
>> +			continue;
>> +
>> +		/* Pixel format changes can require bandwidth updates. */
>> +		if (old_other_state->fb->format != new_other_state->fb->format)
>> +			return true;
>> +
>> +		old_dm_plane_state = to_dm_plane_state(old_other_state);
>> +		new_dm_plane_state = to_dm_plane_state(new_other_state);
>> +
>> +		/* Tiling and DCC changes also require bandwidth updates. */
>> +		if (old_dm_plane_state->tiling_flags !=
>> +		    new_dm_plane_state->tiling_flags)
> 
> Why not add a case when we move to a TMZ area?
> 
> Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>

TMZ doesn't affect DML calculations or validation in this case so we can 
safely skip it.

Regards,
Nicholas Kazlauskas

> 
>>   			return true;
>>   	}
>>   
>> -- 
>> 2.25.1
>>
> 

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

WARNING: multiple messages have this Message-ID (diff)
From: "Kazlauskas, Nicholas" <nicholas.kazlauskas@amd.com>
To: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Cc: Hersen Wu <hersenxs.wu@amd.com>,
	Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org
Subject: Re: [PATCH 2/7] drm/amd/display: Reset plane when tiling flags change
Date: Thu, 6 Aug 2020 14:18:01 -0400	[thread overview]
Message-ID: <1261225a-9ce1-0f21-ca93-f51282b47cf6@amd.com> (raw)
In-Reply-To: <20200805211114.m5iw6f5usj2b2yrt@outlook.office365.com>

On 2020-08-05 5:11 p.m., Rodrigo Siqueira wrote:
> On 07/30, Nicholas Kazlauskas wrote:
>> [Why]
>> Enabling or disable DCC or switching between tiled and linear formats
>> can require bandwidth updates.
>>
>> They're currently skipping all DC validation by being treated as purely
>> surface updates.
>>
>> [How]
>> Treat tiling_flag changes (which encode DCC state) as a condition for
>> resetting the plane.
>>
>> Cc: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
>> Cc: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
>> Cc: Hersen Wu <hersenxs.wu@amd.com>
>> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
>> ---
>>   .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 19 ++++++++++++++++---
>>   1 file changed, 16 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> index 7cc5ab90ce13..bf1881bd492c 100644
>> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
>> @@ -8332,6 +8332,8 @@ static bool should_reset_plane(struct drm_atomic_state *state,
>>   	 * TODO: Come up with a more elegant solution for this.
>>   	 */
>>   	for_each_oldnew_plane_in_state(state, other, old_other_state, new_other_state, i) {
>> +		struct dm_plane_state *old_dm_plane_state, *new_dm_plane_state;
>> +
>>   		if (other->type == DRM_PLANE_TYPE_CURSOR)
>>   			continue;
>>   
>> @@ -8342,9 +8344,20 @@ static bool should_reset_plane(struct drm_atomic_state *state,
>>   		if (old_other_state->crtc != new_other_state->crtc)
>>   			return true;
>>   
>> -		/* TODO: Remove this once we can handle fast format changes. */
>> -		if (old_other_state->fb && new_other_state->fb &&
>> -		    old_other_state->fb->format != new_other_state->fb->format)
>> +		/* Framebuffer checks fall at the end. */
>> +		if (!old_other_state->fb || !new_other_state->fb)
>> +			continue;
>> +
>> +		/* Pixel format changes can require bandwidth updates. */
>> +		if (old_other_state->fb->format != new_other_state->fb->format)
>> +			return true;
>> +
>> +		old_dm_plane_state = to_dm_plane_state(old_other_state);
>> +		new_dm_plane_state = to_dm_plane_state(new_other_state);
>> +
>> +		/* Tiling and DCC changes also require bandwidth updates. */
>> +		if (old_dm_plane_state->tiling_flags !=
>> +		    new_dm_plane_state->tiling_flags)
> 
> Why not add a case when we move to a TMZ area?
> 
> Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>

TMZ doesn't affect DML calculations or validation in this case so we can 
safely skip it.

Regards,
Nicholas Kazlauskas

> 
>>   			return true;
>>   	}
>>   
>> -- 
>> 2.25.1
>>
> 

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

  reply	other threads:[~2020-08-06 18:18 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-30 20:36 [PATCH 0/7] drm/amd/display: Drop DRM private objects from amdgpu_dm Nicholas Kazlauskas
2020-07-30 20:36 ` Nicholas Kazlauskas
2020-07-30 20:36 ` [PATCH 1/7] drm/amd/display: Store tiling_flags and tmz_surface on dm_plane_state Nicholas Kazlauskas
2020-07-30 20:36   ` Nicholas Kazlauskas
2020-08-05 21:04   ` Rodrigo Siqueira
2020-08-05 21:04     ` Rodrigo Siqueira
2020-08-07  8:24   ` daniel
2020-08-07  8:24     ` daniel
2020-07-30 20:36 ` [PATCH 2/7] drm/amd/display: Reset plane when tiling flags change Nicholas Kazlauskas
2020-07-30 20:36   ` Nicholas Kazlauskas
2020-07-30 20:50   ` Wu, Hersen
2020-07-30 20:50     ` Wu, Hersen
2020-08-05 21:11   ` Rodrigo Siqueira
2020-08-05 21:11     ` Rodrigo Siqueira
2020-08-06 18:18     ` Kazlauskas, Nicholas [this message]
2020-08-06 18:18       ` Kazlauskas, Nicholas
2020-07-30 20:36 ` [PATCH 3/7] drm/amd/display: Avoid using unvalidated tiling_flags and tmz_surface in prepare_planes Nicholas Kazlauskas
2020-07-30 20:36   ` Nicholas Kazlauskas
2020-08-05 21:12   ` Rodrigo Siqueira
2020-08-05 21:12     ` Rodrigo Siqueira
2020-08-07  8:30   ` daniel
2020-08-07  8:30     ` daniel
2020-08-07 14:29     ` Kazlauskas, Nicholas
2020-08-07 14:29       ` Kazlauskas, Nicholas
2020-08-10 12:25       ` Daniel Vetter
2020-08-10 12:25         ` Daniel Vetter
2020-08-10 12:30         ` Christian König
2020-08-10 12:30           ` Christian König
2020-08-10 12:32           ` Daniel Vetter
2020-08-10 12:32             ` Daniel Vetter
2020-08-11 13:42           ` Marek Olšák
2020-08-11 13:42             ` Marek Olšák
2020-08-12 13:54             ` Daniel Vetter
2020-08-12 13:54               ` Daniel Vetter
2020-08-17  6:23               ` Marek Olšák
2020-08-17  6:23                 ` Marek Olšák
2020-09-01  7:20                 ` Daniel Vetter
2020-09-01  7:20                   ` Daniel Vetter
2020-07-30 20:36 ` [PATCH 4/7] drm/amd/display: Use validated tiling_flags and tmz_surface in commit_tail Nicholas Kazlauskas
2020-07-30 20:36   ` Nicholas Kazlauskas
2020-08-05 21:15   ` Rodrigo Siqueira
2020-08-05 21:15     ` Rodrigo Siqueira
2020-07-30 20:36 ` [PATCH 5/7] drm/amd/display: Reset plane for anything that's not a FAST update Nicholas Kazlauskas
2020-07-30 20:36   ` Nicholas Kazlauskas
2020-07-30 20:51   ` Wu, Hersen
2020-07-30 20:51     ` Wu, Hersen
2020-08-05 20:45   ` Rodrigo Siqueira
2020-08-05 20:45     ` Rodrigo Siqueira
2020-08-06 18:27     ` Kazlauskas, Nicholas
2020-08-06 18:27       ` Kazlauskas, Nicholas
2020-08-07  8:34   ` daniel
2020-08-07  8:34     ` daniel
2020-08-07 14:26     ` Kazlauskas, Nicholas
2020-08-07 14:26       ` Kazlauskas, Nicholas
2020-08-10 12:30       ` Daniel Vetter
2020-08-10 12:30         ` Daniel Vetter
2020-07-30 20:36 ` [PATCH 6/7] drm/amd/display: Drop dm_determine_update_type_for_commit Nicholas Kazlauskas
2020-07-30 20:36   ` Nicholas Kazlauskas
2020-08-05 20:48   ` Rodrigo Siqueira
2020-08-05 20:48     ` Rodrigo Siqueira
2020-07-30 20:36 ` [PATCH 7/7] drm/amd/display: Replace DRM private objects with subclassed DRM atomic state Nicholas Kazlauskas
2020-07-30 20:36   ` Nicholas Kazlauskas
2020-08-05 20:37   ` Rodrigo Siqueira
2020-08-05 20:37     ` Rodrigo Siqueira
2020-08-06 14:25     ` Kazlauskas, Nicholas
2020-08-06 14:25       ` Kazlauskas, Nicholas
2020-08-07  8:40   ` daniel
2020-08-07  8:40     ` daniel
2020-08-07  8:52   ` daniel
2020-08-07  8:52     ` daniel
2020-08-07 14:32     ` Kazlauskas, Nicholas
2020-08-07 14:32       ` Kazlauskas, Nicholas
2020-08-10 12:34       ` Daniel Vetter
2020-08-10 12:34         ` Daniel Vetter
2020-08-07  8:29 ` [PATCH 0/7] drm/amd/display: Drop DRM private objects from amdgpu_dm daniel
2020-08-07  8:29   ` daniel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1261225a-9ce1-0f21-ca93-f51282b47cf6@amd.com \
    --to=nicholas.kazlauskas@amd.com \
    --cc=Bhawanpreet.Lakha@amd.com \
    --cc=Rodrigo.Siqueira@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hersenxs.wu@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.