All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mario Limonciello <superm1@kernel.org>
To: Eric Huang <jinhuieric.huang@amd.com>, amd-gfx@lists.freedesktop.org
Cc: Tishko.Araz@amd.com, Alexander.Deucher@amd.com
Subject: Re: [PATCH 1/3] drm/amdgpu: add new mes misc api for gfx11
Date: Fri, 21 Aug 2026 16:30:31 -0500	[thread overview]
Message-ID: <6a149891-1752-4d43-aa78-8573e1503837@kernel.org> (raw)
In-Reply-To: <20260819201443.282689-1-jinhuieric.huang@amd.com>



On 8/19/26 15:14, Eric Huang wrote:
> new api will be used to workaround a HW scheduler issue
> for 100% usage when gpu has no workload.
> 
> Signed-off-by: Eric Huang <jinhuieric.huang@amd.com>
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c | 23 +++++++++++++++++++++++
>   drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h |  4 ++++
>   drivers/gpu/drm/amd/amdgpu/mes_v11_0.c  | 10 +++++++++-
>   3 files changed, 36 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
> index b96f94e5169f..421d937c1188 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
> @@ -1140,6 +1140,29 @@ void amdgpu_mes_free_gang_ctx_index(struct amdgpu_mes *mes,
>   	amdgpu_mes_unlock(mes);
>   }
>   
> +int amdgpu_mes_notify_unmap_queue(struct amdgpu_device *adev)
> +{
> +	struct mes_misc_op_input op_input = {0};
> +	int r;
> +
> +	op_input.op = MES_MISC_NOTIFY_WORK_ON_UNMAPPED_QUEUE;
> +
> +	if (!adev->mes.funcs->misc_op) {
> +		dev_err(adev->dev, "mes notify unmap queue is not supported!\n");
> +		r = -EINVAL;
> +		goto error;
> +	}
> +
> +	amdgpu_mes_lock(&adev->mes);
> +	r = adev->mes.funcs->misc_op(&adev->mes, &op_input);
> +	amdgpu_mes_unlock(&adev->mes);
> +	if (r)
> +		dev_err(adev->dev, "failed to notify unmap queue.\n");
> +
> +error:
> +	return r;
> +}
> +
>   #if defined(CONFIG_DEBUG_FS)
>   
>   static int amdgpu_debugfs_mes_event_log_show(struct seq_file *m, void *unused)
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h
> index 977c057dcce8..0291ae14a1e7 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h
> @@ -366,6 +366,7 @@ enum mes_misc_opcode {
>   	MES_MISC_OP_WRM_REG_WR_WAIT,
>   	MES_MISC_OP_SET_SHADER_DEBUGGER,
>   	MES_MISC_OP_CHANGE_CONFIG,
> +	MES_MISC_OP_NOTIFY_WORK_ON_UNMAPPED_QUEUE
>   };
>   
>   struct mes_misc_op_input {
> @@ -643,4 +644,7 @@ int amdgpu_mes_alloc_gang_ctx_index(struct amdgpu_mes *mes,
>   				    uint32_t *index);
>   void amdgpu_mes_free_gang_ctx_index(struct amdgpu_mes *mes,
>   				    uint32_t index);
> +
> +int amdgpu_mes_notify_unmap_queue(struct amdgpu_device *adev);
> +
>   #endif /* __AMDGPU_MES_H__ */
> diff --git a/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c b/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
> index c57bcb9a98b1..df71e9447b35 100644
> --- a/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c
> @@ -957,7 +957,15 @@ static int mes_v11_0_misc_op(struct amdgpu_mes *mes,
>   		misc_pkt.change_config.option.bits.limit_single_process =
>   				input->change_config.option.limit_single_process;
>   		break;
> -
> +	case MES_MISC_OP_NOTIFY_WORK_ON_UNMAPPED_QUEUE:
> +		if ((mes->adev->mes.sched_version & AMDGPU_MES_VERSION_MASK) < 0x70) {
> +			dev_warn_once(mes->adev->dev,
> +				      "MES FW version must be larger than 0x70 to support notify work on unmapped queue.\n");
> +			return 0;
> +		}
> +		misc_pkt.opcode = MESAPI_MISC__NOTIFY_WORK_ON_UNMAPPED_QUEUE;
> +		misc_pkt.queue_sch_level = AMD_PRIORITY_LEVEL_NORMAL;
> +		break;
>   	default:
>   		drm_err(adev_to_drm(mes->adev), "unsupported misc op (%d)\n", input->op);
>   		return -EINVAL;


      parent reply	other threads:[~2026-08-21 21:30 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-19 20:14 [PATCH 1/3] drm/amdgpu: add new mes misc api for gfx11 Eric Huang
2026-08-19 20:14 ` [PATCH 2/3] drm/amdkfd: workaround 100% gpu usage issue " Eric Huang
2026-08-21 21:31   ` Mario Limonciello
2026-08-19 20:14 ` [PATCH 3/3] drm/amdgpu/userq: create the same workaround of oversubscription timer Eric Huang
2026-08-21 21:32   ` Mario Limonciello
2026-08-21 21:30 ` Mario Limonciello [this message]

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=6a149891-1752-4d43-aa78-8573e1503837@kernel.org \
    --to=superm1@kernel.org \
    --cc=Alexander.Deucher@amd.com \
    --cc=Tishko.Araz@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=jinhuieric.huang@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.