* [PATCH v5 01/23] drm/xe: Error handling in xe_force_wake_get()
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 17:27 ` Nilawar, Badal
2024-09-25 12:01 ` Michal Wajdeczko
2024-09-24 12:16 ` [PATCH v5 02/23] drm/xe: Modify xe_force_wake_put to handle _get returned mask Himal Prasad Ghimiray
` (29 subsequent siblings)
30 siblings, 2 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe
Cc: Himal Prasad Ghimiray, Michal Wajdeczko, Badal Nilawar,
Rodrigo Vivi, Lucas De Marchi, Nirmoy Das
If an acknowledgment timeout occurs for a domain awake request, do not
increment the reference count for the domain. This ensures that
subsequent _get calls do not incorrectly assume the domain is awake. The
return value is a mask of domains whose reference counts were
incremented, and these domains need to be released using
xe_force_wake_put.
The caller needs to compare the return value with the input domains to
determine the success or failure of the operation and decide whether to
continue or return accordingly.
While at it, add simple kernel-doc for xe_force_wake_get()
v3
- Use explicit type for mask (Michal/Badal)
- Improve kernel-doc (Michal)
- Use unsigned int instead of abusing enum (Michal)
v5
- Use unsigned int for return (MattB/Badal/Rodrigo)
- use xe_gt_WARN for domain awake ack failure (Badal/Rodrigo)
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Badal Nilawar <badal.nilawar@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Nirmoy Das <nirmoy.das@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_force_wake.c | 37 +++++++++++++++++++++++-------
drivers/gpu/drm/xe/xe_force_wake.h | 4 ++--
2 files changed, 31 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/xe_force_wake.c
index a64c14757c84..d190aa93be90 100644
--- a/drivers/gpu/drm/xe/xe_force_wake.c
+++ b/drivers/gpu/drm/xe/xe_force_wake.c
@@ -150,28 +150,49 @@ static int domain_sleep_wait(struct xe_gt *gt,
(ffs(tmp__) - 1))) && \
domain__->reg_ctl.addr)
-int xe_force_wake_get(struct xe_force_wake *fw,
- enum xe_force_wake_domains domains)
+/**
+ * xe_force_wake_get() : Increase the domain refcount
+ * @fw: struct xe_force_wake
+ * @domains: forcewake domains to get refcount on
+ *
+ * This function takes references for the input @domains and wakes them if
+ * they are asleep.
+ *
+ * Return: mask of refcount increased domains. If the return value is
+ * equal to the input parameter @domains, the operation is considered
+ * successful. Otherwise, the operation is considered a failure, and
+ * the caller should handle the failure case, potentially returning
+ * -ETIMEDOUT.
+ */
+unsigned int xe_force_wake_get(struct xe_force_wake *fw,
+ enum xe_force_wake_domains domains)
{
struct xe_gt *gt = fw->gt;
struct xe_force_wake_domain *domain;
- enum xe_force_wake_domains tmp, woken = 0;
+ unsigned int tmp, ret, awake_rqst = 0, awake_failed = 0;
unsigned long flags;
- int ret = 0;
spin_lock_irqsave(&fw->lock, flags);
for_each_fw_domain_masked(domain, domains, fw, tmp) {
if (!domain->ref++) {
- woken |= BIT(domain->id);
+ awake_rqst |= BIT(domain->id);
domain_wake(gt, domain);
}
}
- for_each_fw_domain_masked(domain, woken, fw, tmp) {
- ret |= domain_wake_wait(gt, domain);
+ for_each_fw_domain_masked(domain, awake_rqst, fw, tmp) {
+ if (domain_wake_wait(gt, domain) == 0) {
+ fw->awake_domains |= BIT(domain->id);
+ } else {
+ awake_failed |= BIT(domain->id);
+ --domain->ref;
+ }
}
- fw->awake_domains |= woken;
+ ret = (domains & ~awake_failed);
spin_unlock_irqrestore(&fw->lock, flags);
+ xe_gt_WARN(gt, awake_failed, "domain%s %#x failed to acknowledgment awake\n",
+ str_plural(hweight_long(awake_failed)), awake_failed);
+
return ret;
}
diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/xe/xe_force_wake.h
index a2577672f4e3..6c1ade39139b 100644
--- a/drivers/gpu/drm/xe/xe_force_wake.h
+++ b/drivers/gpu/drm/xe/xe_force_wake.h
@@ -15,8 +15,8 @@ void xe_force_wake_init_gt(struct xe_gt *gt,
struct xe_force_wake *fw);
void xe_force_wake_init_engines(struct xe_gt *gt,
struct xe_force_wake *fw);
-int xe_force_wake_get(struct xe_force_wake *fw,
- enum xe_force_wake_domains domains);
+unsigned int xe_force_wake_get(struct xe_force_wake *fw,
+ enum xe_force_wake_domains domains);
int xe_force_wake_put(struct xe_force_wake *fw,
enum xe_force_wake_domains domains);
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* Re: [PATCH v5 01/23] drm/xe: Error handling in xe_force_wake_get()
2024-09-24 12:16 ` [PATCH v5 01/23] drm/xe: Error handling in xe_force_wake_get() Himal Prasad Ghimiray
@ 2024-09-24 17:27 ` Nilawar, Badal
2024-09-25 6:21 ` Ghimiray, Himal Prasad
2024-09-25 12:01 ` Michal Wajdeczko
1 sibling, 1 reply; 46+ messages in thread
From: Nilawar, Badal @ 2024-09-24 17:27 UTC (permalink / raw)
To: Himal Prasad Ghimiray, intel-xe
Cc: Michal Wajdeczko, Rodrigo Vivi, Lucas De Marchi, Nirmoy Das
Hi Himal,
On 24-09-2024 17:46, Himal Prasad Ghimiray wrote:
> If an acknowledgment timeout occurs for a domain awake request, do not
s/acknowledgement/forcewake acknowledgement/
> increment the reference count for the domain. This ensures that
> subsequent _get calls do not incorrectly assume the domain is awake. The
> return value is a mask of domains whose reference counts were
> incremented, and these domains need to be released using
> xe_force_wake_put.
>
> The caller needs to compare the return value with the input domains to
> determine the success or failure of the operation and decide whether to
> continue or return accordingly.
>
> While at it, add simple kernel-doc for xe_force_wake_get()
>
> v3
> - Use explicit type for mask (Michal/Badal)
> - Improve kernel-doc (Michal)
> - Use unsigned int instead of abusing enum (Michal)
>
> v5
> - Use unsigned int for return (MattB/Badal/Rodrigo)
> - use xe_gt_WARN for domain awake ack failure (Badal/Rodrigo)
>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> Cc: Badal Nilawar <badal.nilawar@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
> Cc: Nirmoy Das <nirmoy.das@intel.com>
> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
> ---
> drivers/gpu/drm/xe/xe_force_wake.c | 37 +++++++++++++++++++++++-------
> drivers/gpu/drm/xe/xe_force_wake.h | 4 ++--
> 2 files changed, 31 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/xe_force_wake.c
> index a64c14757c84..d190aa93be90 100644
> --- a/drivers/gpu/drm/xe/xe_force_wake.c
> +++ b/drivers/gpu/drm/xe/xe_force_wake.c
> @@ -150,28 +150,49 @@ static int domain_sleep_wait(struct xe_gt *gt,
> (ffs(tmp__) - 1))) && \
> domain__->reg_ctl.addr)
>
> -int xe_force_wake_get(struct xe_force_wake *fw,
> - enum xe_force_wake_domains domains)
> +/**
> + * xe_force_wake_get() : Increase the domain refcount
> + * @fw: struct xe_force_wake
> + * @domains: forcewake domains to get refcount on
> + *
> + * This function takes references for the input @domains and wakes them if
> + * they are asleep.
> + *
> + * Return: mask of refcount increased domains. If the return value is
> + * equal to the input parameter @domains, the operation is considered
> + * successful. Otherwise, the operation is considered a failure, and
> + * the caller should handle the failure case, potentially returning
> + * -ETIMEDOUT.
> + */
Here especially for FORCEWAKE_ALL case caller has to strictly compare
return mask with FORCEWAKE_ALL instead of just if(!ret) and return.
Which is fine.
> +unsigned int xe_force_wake_get(struct xe_force_wake *fw,
> + enum xe_force_wake_domains domains)
> {
> struct xe_gt *gt = fw->gt;
> struct xe_force_wake_domain *domain;
> - enum xe_force_wake_domains tmp, woken = 0;
> + unsigned int tmp, ret, awake_rqst = 0, awake_failed = 0;
> unsigned long flags;
> - int ret = 0;
>
> spin_lock_irqsave(&fw->lock, flags);
> for_each_fw_domain_masked(domain, domains, fw, tmp) {
> if (!domain->ref++) {
> - woken |= BIT(domain->id);
> + awake_rqst |= BIT(domain->id);
> domain_wake(gt, domain);
> }
> }
> - for_each_fw_domain_masked(domain, woken, fw, tmp) {
> - ret |= domain_wake_wait(gt, domain);
> + for_each_fw_domain_masked(domain, awake_rqst, fw, tmp) {
> + if (domain_wake_wait(gt, domain) == 0) {
> + fw->awake_domains |= BIT(domain->id);
> + } else {
> + awake_failed |= BIT(domain->id);
> + --domain->ref;
> + }
> }
> - fw->awake_domains |= woken;
> + ret = (domains & ~awake_failed);
> spin_unlock_irqrestore(&fw->lock, flags);
>
> + xe_gt_WARN(gt, awake_failed, "domain%s %#x failed to acknowledgment awake\n",
Forcewake domain%s failed to acknowledge awake request.
> + str_plural(hweight_long(awake_failed)), awake_failed);
> +
> return ret;
> }
>
> diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/xe/xe_force_wake.h
> index a2577672f4e3..6c1ade39139b 100644
> --- a/drivers/gpu/drm/xe/xe_force_wake.h
> +++ b/drivers/gpu/drm/xe/xe_force_wake.h
> @@ -15,8 +15,8 @@ void xe_force_wake_init_gt(struct xe_gt *gt,
> struct xe_force_wake *fw);
> void xe_force_wake_init_engines(struct xe_gt *gt,
> struct xe_force_wake *fw);
> -int xe_force_wake_get(struct xe_force_wake *fw,
> - enum xe_force_wake_domains domains);
> +unsigned int xe_force_wake_get(struct xe_force_wake *fw,
> + enum xe_force_wake_domains domains);
Looks good to me.
Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
Regards,
Badal
> int xe_force_wake_put(struct xe_force_wake *fw,
> enum xe_force_wake_domains domains);
>
^ permalink raw reply [flat|nested] 46+ messages in thread* Re: [PATCH v5 01/23] drm/xe: Error handling in xe_force_wake_get()
2024-09-24 17:27 ` Nilawar, Badal
@ 2024-09-25 6:21 ` Ghimiray, Himal Prasad
0 siblings, 0 replies; 46+ messages in thread
From: Ghimiray, Himal Prasad @ 2024-09-25 6:21 UTC (permalink / raw)
To: Nilawar, Badal, intel-xe
Cc: Michal Wajdeczko, Rodrigo Vivi, Lucas De Marchi, Nirmoy Das
On 24-09-2024 22:57, Nilawar, Badal wrote:
> Hi Himal,
>
> On 24-09-2024 17:46, Himal Prasad Ghimiray wrote:
>> If an acknowledgment timeout occurs for a domain awake request, do not
>
> s/acknowledgement/forcewake acknowledgement/
Ok.
>
>> increment the reference count for the domain. This ensures that
>> subsequent _get calls do not incorrectly assume the domain is awake. The
>> return value is a mask of domains whose reference counts were
>> incremented, and these domains need to be released using
>> xe_force_wake_put.
>>
>> The caller needs to compare the return value with the input domains to
>> determine the success or failure of the operation and decide whether to
>> continue or return accordingly.
>>
>> While at it, add simple kernel-doc for xe_force_wake_get()
>>
>> v3
>> - Use explicit type for mask (Michal/Badal)
>> - Improve kernel-doc (Michal)
>> - Use unsigned int instead of abusing enum (Michal)
>>
>> v5
>> - Use unsigned int for return (MattB/Badal/Rodrigo)
>> - use xe_gt_WARN for domain awake ack failure (Badal/Rodrigo)
>>
>> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
>> Cc: Badal Nilawar <badal.nilawar@intel.com>
>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>> Cc: Nirmoy Das <nirmoy.das@intel.com>
>> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
>> ---
>> drivers/gpu/drm/xe/xe_force_wake.c | 37 +++++++++++++++++++++++-------
>> drivers/gpu/drm/xe/xe_force_wake.h | 4 ++--
>> 2 files changed, 31 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/
>> xe_force_wake.c
>> index a64c14757c84..d190aa93be90 100644
>> --- a/drivers/gpu/drm/xe/xe_force_wake.c
>> +++ b/drivers/gpu/drm/xe/xe_force_wake.c
>> @@ -150,28 +150,49 @@ static int domain_sleep_wait(struct xe_gt *gt,
>> (ffs(tmp__) - 1))) && \
>> domain__->reg_ctl.addr)
>> -int xe_force_wake_get(struct xe_force_wake *fw,
>> - enum xe_force_wake_domains domains)
>> +/**
>> + * xe_force_wake_get() : Increase the domain refcount
>> + * @fw: struct xe_force_wake
>> + * @domains: forcewake domains to get refcount on
>> + *
>> + * This function takes references for the input @domains and wakes
>> them if
>> + * they are asleep.
>> + *
>> + * Return: mask of refcount increased domains. If the return value is
>> + * equal to the input parameter @domains, the operation is considered
>> + * successful. Otherwise, the operation is considered a failure, and
>> + * the caller should handle the failure case, potentially returning
>> + * -ETIMEDOUT.
>> + */
>
> Here especially for FORCEWAKE_ALL case caller has to strictly compare
> return mask with FORCEWAKE_ALL instead of just if(!ret) and return.
> Which is fine.
That is true, if(!ret) works for all individual domains but not for
FORCEWAKE_ALL, whereas if(ret != domain) works for any domain(including
FORCEWAKE_ALL).
In subsequent patches I have used (!ret) for individual domains.
>
>> +unsigned int xe_force_wake_get(struct xe_force_wake *fw,
>> + enum xe_force_wake_domains domains)
>> {
>> struct xe_gt *gt = fw->gt;
>> struct xe_force_wake_domain *domain;
>> - enum xe_force_wake_domains tmp, woken = 0;
>> + unsigned int tmp, ret, awake_rqst = 0, awake_failed = 0;
>> unsigned long flags;
>> - int ret = 0;
>> spin_lock_irqsave(&fw->lock, flags);
>> for_each_fw_domain_masked(domain, domains, fw, tmp) {
>> if (!domain->ref++) {
>> - woken |= BIT(domain->id);
>> + awake_rqst |= BIT(domain->id);
>> domain_wake(gt, domain);
>> }
>> }
>> - for_each_fw_domain_masked(domain, woken, fw, tmp) {
>> - ret |= domain_wake_wait(gt, domain);
>> + for_each_fw_domain_masked(domain, awake_rqst, fw, tmp) {
>> + if (domain_wake_wait(gt, domain) == 0) {
>> + fw->awake_domains |= BIT(domain->id);
>> + } else {
>> + awake_failed |= BIT(domain->id);
>> + --domain->ref;
>> + }
>> }
>> - fw->awake_domains |= woken;
>> + ret = (domains & ~awake_failed);
>> spin_unlock_irqrestore(&fw->lock, flags);
>> + xe_gt_WARN(gt, awake_failed, "domain%s %#x failed to
>> acknowledgment awake\n",
>
> Forcewake domain%s failed to acknowledge awake request.
ok.
>
>> + str_plural(hweight_long(awake_failed)), awake_failed);
>> +
>> return ret;
>> }
>> diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/xe/
>> xe_force_wake.h
>> index a2577672f4e3..6c1ade39139b 100644
>> --- a/drivers/gpu/drm/xe/xe_force_wake.h
>> +++ b/drivers/gpu/drm/xe/xe_force_wake.h
>> @@ -15,8 +15,8 @@ void xe_force_wake_init_gt(struct xe_gt *gt,
>> struct xe_force_wake *fw);
>> void xe_force_wake_init_engines(struct xe_gt *gt,
>> struct xe_force_wake *fw);
>> -int xe_force_wake_get(struct xe_force_wake *fw,
>> - enum xe_force_wake_domains domains);
>> +unsigned int xe_force_wake_get(struct xe_force_wake *fw,
>> + enum xe_force_wake_domains domains);
>
> Looks good to me.
> Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
Thanks for the review.
>
> Regards,
> Badal
>
>> int xe_force_wake_put(struct xe_force_wake *fw,
>> enum xe_force_wake_domains domains);
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* Re: [PATCH v5 01/23] drm/xe: Error handling in xe_force_wake_get()
2024-09-24 12:16 ` [PATCH v5 01/23] drm/xe: Error handling in xe_force_wake_get() Himal Prasad Ghimiray
2024-09-24 17:27 ` Nilawar, Badal
@ 2024-09-25 12:01 ` Michal Wajdeczko
2024-09-25 16:36 ` Ghimiray, Himal Prasad
1 sibling, 1 reply; 46+ messages in thread
From: Michal Wajdeczko @ 2024-09-25 12:01 UTC (permalink / raw)
To: Himal Prasad Ghimiray, intel-xe
Cc: Badal Nilawar, Rodrigo Vivi, Lucas De Marchi, Nirmoy Das
On 24.09.2024 14:16, Himal Prasad Ghimiray wrote:
> If an acknowledgment timeout occurs for a domain awake request, do not
> increment the reference count for the domain. This ensures that
> subsequent _get calls do not incorrectly assume the domain is awake. The
> return value is a mask of domains whose reference counts were
> incremented, and these domains need to be released using
> xe_force_wake_put.
>
> The caller needs to compare the return value with the input domains to
> determine the success or failure of the operation and decide whether to
> continue or return accordingly.
>
> While at it, add simple kernel-doc for xe_force_wake_get()
>
> v3
> - Use explicit type for mask (Michal/Badal)
> - Improve kernel-doc (Michal)
> - Use unsigned int instead of abusing enum (Michal)
>
> v5
> - Use unsigned int for return (MattB/Badal/Rodrigo)
> - use xe_gt_WARN for domain awake ack failure (Badal/Rodrigo)
>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> Cc: Badal Nilawar <badal.nilawar@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
> Cc: Nirmoy Das <nirmoy.das@intel.com>
> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
> ---
> drivers/gpu/drm/xe/xe_force_wake.c | 37 +++++++++++++++++++++++-------
> drivers/gpu/drm/xe/xe_force_wake.h | 4 ++--
> 2 files changed, 31 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/xe_force_wake.c
> index a64c14757c84..d190aa93be90 100644
> --- a/drivers/gpu/drm/xe/xe_force_wake.c
> +++ b/drivers/gpu/drm/xe/xe_force_wake.c
> @@ -150,28 +150,49 @@ static int domain_sleep_wait(struct xe_gt *gt,
> (ffs(tmp__) - 1))) && \
> domain__->reg_ctl.addr)
>
> -int xe_force_wake_get(struct xe_force_wake *fw,
> - enum xe_force_wake_domains domains)
> +/**
> + * xe_force_wake_get() : Increase the domain refcount
> + * @fw: struct xe_force_wake
> + * @domains: forcewake domains to get refcount on
> + *
> + * This function takes references for the input @domains and wakes them if
> + * they are asleep.
nit: likely we should also add the note that one shall call the
xe_force_wake_put() function to decrease refcounts
> + *
> + * Return: mask of refcount increased domains.
do we really need to expose implementation detail to the caller?
can't we just treat the returned value as opaque data that just needs to
be passed to the matching xe_force_wake_put(fw, ref) call ?
> If the return value is
> + * equal to the input parameter @domains, the operation is considered
> + * successful.
sorry, but I'm still little uncomfortable with such approach, due to a
mismatch between input parameter type that is enum xe_force_wake_domains
and return type which is unsigned int, as IMO forcing the user to
compare two different types seems wrong
can't we just say that if returned value is zero then no domains were
waken (which would provide definite answer if single domain was requested) ?
and for the xe_force_wake_get(fw, ALL_DOMAINS) case, we can provide
helper function that will check if specified domain is really awake:
ref = xe_force_wake_put(fw, ALL_DOMAIN)
if (ref) {
xe_force_wake_is_awake(fw, SINGLE_DOMAIN)
xe_force_wake_put(fw, ref)
}
> Otherwise, the operation is considered a failure, and
> + * the caller should handle the failure case, potentially returning
> + * -ETIMEDOUT.
> + */
> +unsigned int xe_force_wake_get(struct xe_force_wake *fw,
> + enum xe_force_wake_domains domains)
> {
> struct xe_gt *gt = fw->gt;
> struct xe_force_wake_domain *domain;
> - enum xe_force_wake_domains tmp, woken = 0;
> + unsigned int tmp, ret, awake_rqst = 0, awake_failed = 0;
> unsigned long flags;
> - int ret = 0;
>
> spin_lock_irqsave(&fw->lock, flags);
> for_each_fw_domain_masked(domain, domains, fw, tmp) {
> if (!domain->ref++) {
> - woken |= BIT(domain->id);
> + awake_rqst |= BIT(domain->id);
> domain_wake(gt, domain);
> }
> }
> - for_each_fw_domain_masked(domain, woken, fw, tmp) {
> - ret |= domain_wake_wait(gt, domain);
> + for_each_fw_domain_masked(domain, awake_rqst, fw, tmp) {
> + if (domain_wake_wait(gt, domain) == 0) {
> + fw->awake_domains |= BIT(domain->id);
> + } else {
> + awake_failed |= BIT(domain->id);
> + --domain->ref;
> + }
> }
> - fw->awake_domains |= woken;
> + ret = (domains & ~awake_failed);
> spin_unlock_irqrestore(&fw->lock, flags);
>
> + xe_gt_WARN(gt, awake_failed, "domain%s %#x failed to acknowledgment awake\n",
> + str_plural(hweight_long(awake_failed)), awake_failed);
> +
> return ret;
> }
>
> diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/xe/xe_force_wake.h
> index a2577672f4e3..6c1ade39139b 100644
> --- a/drivers/gpu/drm/xe/xe_force_wake.h
> +++ b/drivers/gpu/drm/xe/xe_force_wake.h
> @@ -15,8 +15,8 @@ void xe_force_wake_init_gt(struct xe_gt *gt,
> struct xe_force_wake *fw);
> void xe_force_wake_init_engines(struct xe_gt *gt,
> struct xe_force_wake *fw);
> -int xe_force_wake_get(struct xe_force_wake *fw,
> - enum xe_force_wake_domains domains);
> +unsigned int xe_force_wake_get(struct xe_force_wake *fw,
> + enum xe_force_wake_domains domains);
> int xe_force_wake_put(struct xe_force_wake *fw,
> enum xe_force_wake_domains domains);
>
^ permalink raw reply [flat|nested] 46+ messages in thread* Re: [PATCH v5 01/23] drm/xe: Error handling in xe_force_wake_get()
2024-09-25 12:01 ` Michal Wajdeczko
@ 2024-09-25 16:36 ` Ghimiray, Himal Prasad
2024-09-25 17:20 ` Michal Wajdeczko
0 siblings, 1 reply; 46+ messages in thread
From: Ghimiray, Himal Prasad @ 2024-09-25 16:36 UTC (permalink / raw)
To: Michal Wajdeczko, intel-xe
Cc: Badal Nilawar, Rodrigo Vivi, Lucas De Marchi, Nirmoy Das
On 25-09-2024 17:31, Michal Wajdeczko wrote:
>
>
> On 24.09.2024 14:16, Himal Prasad Ghimiray wrote:
>> If an acknowledgment timeout occurs for a domain awake request, do not
>> increment the reference count for the domain. This ensures that
>> subsequent _get calls do not incorrectly assume the domain is awake. The
>> return value is a mask of domains whose reference counts were
>> incremented, and these domains need to be released using
>> xe_force_wake_put.
>>
>> The caller needs to compare the return value with the input domains to
>> determine the success or failure of the operation and decide whether to
>> continue or return accordingly.
>>
>> While at it, add simple kernel-doc for xe_force_wake_get()
>>
>> v3
>> - Use explicit type for mask (Michal/Badal)
>> - Improve kernel-doc (Michal)
>> - Use unsigned int instead of abusing enum (Michal)
>>
>> v5
>> - Use unsigned int for return (MattB/Badal/Rodrigo)
>> - use xe_gt_WARN for domain awake ack failure (Badal/Rodrigo)
>>
>> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
>> Cc: Badal Nilawar <badal.nilawar@intel.com>
>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>> Cc: Nirmoy Das <nirmoy.das@intel.com>
>> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
>> ---
>> drivers/gpu/drm/xe/xe_force_wake.c | 37 +++++++++++++++++++++++-------
>> drivers/gpu/drm/xe/xe_force_wake.h | 4 ++--
>> 2 files changed, 31 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/xe_force_wake.c
>> index a64c14757c84..d190aa93be90 100644
>> --- a/drivers/gpu/drm/xe/xe_force_wake.c
>> +++ b/drivers/gpu/drm/xe/xe_force_wake.c
>> @@ -150,28 +150,49 @@ static int domain_sleep_wait(struct xe_gt *gt,
>> (ffs(tmp__) - 1))) && \
>> domain__->reg_ctl.addr)
>>
>> -int xe_force_wake_get(struct xe_force_wake *fw,
>> - enum xe_force_wake_domains domains)
>> +/**
>> + * xe_force_wake_get() : Increase the domain refcount
>> + * @fw: struct xe_force_wake
>> + * @domains: forcewake domains to get refcount on
>> + *
>> + * This function takes references for the input @domains and wakes them if
>> + * they are asleep.
>
> nit: likely we should also add the note that one shall call the
> xe_force_wake_put() function to decrease refcounts
Sure.
>
>> + *
>> + * Return: mask of refcount increased domains.
>
> do we really need to expose implementation detail to the caller?
>
> can't we just treat the returned value as opaque data that just needs to
> be passed to the matching xe_force_wake_put(fw, ref) call ?
>
>> If the return value is
>> + * equal to the input parameter @domains, the operation is considered
>> + * successful.
>
> sorry, but I'm still little uncomfortable with such approach, due to a
> mismatch between input parameter type that is enum xe_force_wake_domains
> and return type which is unsigned int, as IMO forcing the user to
> compare two different types seems wrong
Sure, I understand the thought process behind it. Will a helper to do it
is OK. Justifying below for the helper.
>
> can't we just say that if returned value is zero then no domains were
> waken (which would provide definite answer if single domain was requested) ?
I am concerned about the scenario, where user ends up considering non
zero return of FORCEWAKE_ALL as success.
Having multiple success or failure condition for same API, based on
input parameter looks bad design to me.
ref = xe_force_wake_get(fw, GT)
if (ref) -> means success condn
whereas
ref = xe_force_wake_put(fw, ALL)
if (ref) -> doesn't necessarily means successfully awakened all domain.
User can very easily interpret it wrongly:
ref = xe_force_wake_get(fw, ALL)
if(!ref)
error_handling;
/* Irrespective of failure or success of xe_force_wake_get code reaches
here */
do_multiple_operations(); /* Needed all fw domains supported on GT to be
awake */
xe_force_wake_put(fw, ref);
We have use-cases throughout the driver where user relies on
success/failure for FORCEWAKE_ALL domains.
>
> and for the xe_force_wake_get(fw, ALL_DOMAINS) case, we can provide
> helper function that will check if specified domain is really awake:
>
> ref = xe_force_wake_put(fw, ALL_DOMAIN)
>
> if (ref) {
> xe_force_wake_is_awake(fw, SINGLE_DOMAIN)
I assume this API is to check whether ref has domain in it or not. Will
be good helper to have for such scenarios, Which are currently not there
in driver.
>
> xe_force_wake_put(fw, ref)
> }
>
I believe a helper to determine success or failure of force_wake_get,
instead of caller doing it will streamline all the domains and usecases.
int xe_force_wake_get_status(enum domain, unsigned int fw_ref)
{
return (fw_ref == domain) ? 0 : -ETIMEDOUT;
}
Usecases:
A) No error check, just continue in case of failure too.
ref = xe_force_wake_get(fw, domain /* can be ALL_DOMAIN */);
do_operations();
xe_force_wake_put(fw, ref);
B) error check, abort in case of failure.
ref = xe_force_wake_get(fw, domain /* can be ALL_DOMAIN */);
int err = xe_force_wake_get_status(domain, ref);
if(err) {
xe_force_wake_put(fw, ref);
return err;
}
do_operations();
xe_force_wake_put(fw, ref);
c) get all domain, but check specific domain:
ref = xe_force_wake_get(fw, ALL_domain);
if (xe_force_wake_get_status(domain, ref))
dmesg_warn( "unable to awake all requested domain \n");
if (xe_fwref_has_domain(fw, SINGLE_DOMAIN))
do_operations()
xe_force_wake_put(fw, ref);
>> Otherwise, the operation is considered a failure, and
>> + * the caller should handle the failure case, potentially returning
>> + * -ETIMEDOUT.
>> + */
>> +unsigned int xe_force_wake_get(struct xe_force_wake *fw,
>> + enum xe_force_wake_domains domains)
>> {
>> struct xe_gt *gt = fw->gt;
>> struct xe_force_wake_domain *domain;
>> - enum xe_force_wake_domains tmp, woken = 0;
>> + unsigned int tmp, ret, awake_rqst = 0, awake_failed = 0;
>> unsigned long flags;
>> - int ret = 0;
>>
>> spin_lock_irqsave(&fw->lock, flags);
>> for_each_fw_domain_masked(domain, domains, fw, tmp) {
>> if (!domain->ref++) {
>> - woken |= BIT(domain->id);
>> + awake_rqst |= BIT(domain->id);
>> domain_wake(gt, domain);
>> }
>> }
>> - for_each_fw_domain_masked(domain, woken, fw, tmp) {
>> - ret |= domain_wake_wait(gt, domain);
>> + for_each_fw_domain_masked(domain, awake_rqst, fw, tmp) {
>> + if (domain_wake_wait(gt, domain) == 0) {
>> + fw->awake_domains |= BIT(domain->id);
>> + } else {
>> + awake_failed |= BIT(domain->id);
>> + --domain->ref;
>> + }
>> }
>> - fw->awake_domains |= woken;
>> + ret = (domains & ~awake_failed);
>> spin_unlock_irqrestore(&fw->lock, flags);
>>
>> + xe_gt_WARN(gt, awake_failed, "domain%s %#x failed to acknowledgment awake\n",
>> + str_plural(hweight_long(awake_failed)), awake_failed);
>> +
>> return ret;
>> }
>>
>> diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/xe/xe_force_wake.h
>> index a2577672f4e3..6c1ade39139b 100644
>> --- a/drivers/gpu/drm/xe/xe_force_wake.h
>> +++ b/drivers/gpu/drm/xe/xe_force_wake.h
>> @@ -15,8 +15,8 @@ void xe_force_wake_init_gt(struct xe_gt *gt,
>> struct xe_force_wake *fw);
>> void xe_force_wake_init_engines(struct xe_gt *gt,
>> struct xe_force_wake *fw);
>> -int xe_force_wake_get(struct xe_force_wake *fw,
>> - enum xe_force_wake_domains domains);
>> +unsigned int xe_force_wake_get(struct xe_force_wake *fw,
>> + enum xe_force_wake_domains domains);
>> int xe_force_wake_put(struct xe_force_wake *fw,
>> enum xe_force_wake_domains domains);
>>
>
^ permalink raw reply [flat|nested] 46+ messages in thread* Re: [PATCH v5 01/23] drm/xe: Error handling in xe_force_wake_get()
2024-09-25 16:36 ` Ghimiray, Himal Prasad
@ 2024-09-25 17:20 ` Michal Wajdeczko
2024-09-25 18:14 ` Ghimiray, Himal Prasad
0 siblings, 1 reply; 46+ messages in thread
From: Michal Wajdeczko @ 2024-09-25 17:20 UTC (permalink / raw)
To: Ghimiray, Himal Prasad, intel-xe
Cc: Badal Nilawar, Rodrigo Vivi, Lucas De Marchi, Nirmoy Das
On 25.09.2024 18:36, Ghimiray, Himal Prasad wrote:
>
>
> On 25-09-2024 17:31, Michal Wajdeczko wrote:
>>
>>
>> On 24.09.2024 14:16, Himal Prasad Ghimiray wrote:
>>> If an acknowledgment timeout occurs for a domain awake request, do not
>>> increment the reference count for the domain. This ensures that
>>> subsequent _get calls do not incorrectly assume the domain is awake. The
>>> return value is a mask of domains whose reference counts were
>>> incremented, and these domains need to be released using
>>> xe_force_wake_put.
>>>
>>> The caller needs to compare the return value with the input domains to
>>> determine the success or failure of the operation and decide whether to
>>> continue or return accordingly.
>>>
>>> While at it, add simple kernel-doc for xe_force_wake_get()
>>>
>>> v3
>>> - Use explicit type for mask (Michal/Badal)
>>> - Improve kernel-doc (Michal)
>>> - Use unsigned int instead of abusing enum (Michal)
>>>
>>> v5
>>> - Use unsigned int for return (MattB/Badal/Rodrigo)
>>> - use xe_gt_WARN for domain awake ack failure (Badal/Rodrigo)
>>>
>>> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
>>> Cc: Badal Nilawar <badal.nilawar@intel.com>
>>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>>> Cc: Nirmoy Das <nirmoy.das@intel.com>
>>> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
>>> ---
>>> drivers/gpu/drm/xe/xe_force_wake.c | 37 +++++++++++++++++++++++-------
>>> drivers/gpu/drm/xe/xe_force_wake.h | 4 ++--
>>> 2 files changed, 31 insertions(+), 10 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/
>>> xe_force_wake.c
>>> index a64c14757c84..d190aa93be90 100644
>>> --- a/drivers/gpu/drm/xe/xe_force_wake.c
>>> +++ b/drivers/gpu/drm/xe/xe_force_wake.c
>>> @@ -150,28 +150,49 @@ static int domain_sleep_wait(struct xe_gt *gt,
>>> (ffs(tmp__) - 1))) && \
>>> domain__->reg_ctl.addr)
>>> -int xe_force_wake_get(struct xe_force_wake *fw,
>>> - enum xe_force_wake_domains domains)
>>> +/**
>>> + * xe_force_wake_get() : Increase the domain refcount
>>> + * @fw: struct xe_force_wake
>>> + * @domains: forcewake domains to get refcount on
>>> + *
>>> + * This function takes references for the input @domains and wakes
>>> them if
>>> + * they are asleep.
>>
>> nit: likely we should also add the note that one shall call the
>> xe_force_wake_put() function to decrease refcounts
>
> Sure.
>
>>
>>> + *
>>> + * Return: mask of refcount increased domains.
>>
>> do we really need to expose implementation detail to the caller?
>>
>> can't we just treat the returned value as opaque data that just needs to
>> be passed to the matching xe_force_wake_put(fw, ref) call ?
>>
>>> If the return value is
>>> + * equal to the input parameter @domains, the operation is considered
>>> + * successful.
>>
>> sorry, but I'm still little uncomfortable with such approach, due to a
>> mismatch between input parameter type that is enum xe_force_wake_domains
>> and return type which is unsigned int, as IMO forcing the user to
>> compare two different types seems wrong
>
> Sure, I understand the thought process behind it. Will a helper to do it
> is OK. Justifying below for the helper.
>
>>
>> can't we just say that if returned value is zero then no domains were
>> waken (which would provide definite answer if single domain was
>> requested) ?
>
> I am concerned about the scenario, where user ends up considering non
> zero return of FORCEWAKE_ALL as success.
while user can always do something wrong, note that in above statement
we didn't say that _all_ requested domains were awake if ref != 0
>
> Having multiple success or failure condition for same API, based on
> input parameter looks bad design to me.
it's not multiple, in fact it is unified:
1) ALL_DOMAINS
ref = xe_force_wake_get(fw, ALL_DOMAINS)
if (!ref)
return -EIO
// explicit check
if (xe_force_wake_is_awake(fw, SINGLE_DOMAIN))
...
xe_force_wake_put(fw, ref)
2a) SINGLE_DOMAIN
ref = xe_force_wake_get(fw, SINGLE_DOMAIN)
if (!ref)
return -EIO
// explicit check
if (xe_force_wake_is_awake(fw, SINGLE_DOMAIN))
...
xe_force_wake_put(fw, ref)
and what we did is just optimization for SINGLE_DOMAIN
2b) SINGLE_DOMAIN
ref = xe_force_wake_get(fw, SINGLE_DOMAIN)
if (!ref)
return -EIO
BUG_ON(!xe_force_wake_is_awake(fw, SINGLE_DOMAIN))
xe_force_wake_put(fw, ref)
>
> ref = xe_force_wake_get(fw, GT)
> if (ref) -> means success condn
>
> whereas
>
> ref = xe_force_wake_put(fw, ALL)
> if (ref) -> doesn't necessarily means successfully awakened all domain.
>
> User can very easily interpret it wrongly:
> ref = xe_force_wake_get(fw, ALL)
> if(!ref)
> error_handling;
>
> /* Irrespective of failure or success of xe_force_wake_get code reaches
> here */
> do_multiple_operations(); /* Needed all fw domains supported on GT to be
> awake */
>
> xe_force_wake_put(fw, ref);
>
> We have use-cases throughout the driver where user relies on success/
> failure for FORCEWAKE_ALL domains.
maybe for more consistent API we should have two functions:
a) pass only if _all_ domains are awake
ref = xe_force_wake_get(fw, ALL_DOMAINS)
if (!ref)
return -EIO
// no need for explicit checks
BUG_ON(!xe_force_wake_is_awake(fw, FOO_DOMAIN))
BUG_ON(!xe_force_wake_is_awake(fw, BAR_DOMAIN))
...
xe_force_wake_put(fw, ref)
b) fails only if _all_ domains are not awake
ref = xe_force_wake_get(fw, ALL_DOMAINS)
if (!ref)
return -EIO
// must do explicit checks
if (xe_force_wake_is_awake(fw, SINGLE_DOMAIN))
...
xe_force_wake_put(fw, ref)
>
>>
>> and for the xe_force_wake_get(fw, ALL_DOMAINS) case, we can provide
>> helper function that will check if specified domain is really awake:
>>
>> ref = xe_force_wake_put(fw, ALL_DOMAIN)
>>
>> if (ref) {
>> xe_force_wake_is_awake(fw, SINGLE_DOMAIN)
>
>
> I assume this API is to check whether ref has domain in it or not. Will
> be good helper to have for such scenarios, Which are currently not there
> in driver.
there could be two variants, one that checks fw
xe_force_wake_is_awake(fw, SINGLE_DOMAIN)
other that checks ref
xe_force_wake_ref_has_domain(ref, SINGLE_DOMAIN)
but the only benefit from the latter is that it could be lightweight as
otherwise
BUG_ON(xe_force_wake_is_awake(fw, SINGLE_DOMAIN) ^
xe_force_wake_ref_has_domain(ref, SINGLE_DOMAIN))
>
>
>>
>> xe_force_wake_put(fw, ref)
>> }
>>
>
> I believe a helper to determine success or failure of force_wake_get,
> instead of caller doing it will streamline all the domains and usecases.
>
> int xe_force_wake_get_status(enum domain, unsigned int fw_ref)
> {
> return (fw_ref == domain) ? 0 : -ETIMEDOUT;
> }
I'm not sure we should provide error code, IMO simple bool function will
better and caller can decide what to do next
>
> Usecases:
>
> A) No error check, just continue in case of failure too.
>
> ref = xe_force_wake_get(fw, domain /* can be ALL_DOMAIN */);
> do_operations();
> xe_force_wake_put(fw, ref);
yep
and inside do_operations() we can always use xe_force_wake_is_awake to
check every domain
>
> B) error check, abort in case of failure.
>
> ref = xe_force_wake_get(fw, domain /* can be ALL_DOMAIN */);
> int err = xe_force_wake_get_status(domain, ref);
> if(err) {
> xe_force_wake_put(fw, ref);
> return err;
> }
> do_operations();
> xe_force_wake_put(fw, ref);
nay, too complicated, better:
ref = xe_force_wake_get(fw, ALL);
err = xe_force_wake_is_awake(fw, ALL) ? do_operations() : -EFATAL;
xe_force_wake_put(fw, ref);
>
> c) get all domain, but check specific domain:
>
> ref = xe_force_wake_get(fw, ALL_domain);
> if (xe_force_wake_get_status(domain, ref))
> dmesg_warn( "unable to awake all requested domain \n");
IIRC in xe_force_wake_get() there is one WARN already
>
> if (xe_fwref_has_domain(fw, SINGLE_DOMAIN))
> do_operations()
>
> xe_force_wake_put(fw, ref);
>
so maybe simpler:
ref = xe_force_wake_get(fw, ALL);
err = xe_force_wake_is_awake(fw, FOO) ? do_operations() : -EMINOR;
xe_force_wake_put(fw, ref);
>>> Otherwise, the operation is considered a failure, and
>>> + * the caller should handle the failure case, potentially returning
>>> + * -ETIMEDOUT.
>>> + */
>>> +unsigned int xe_force_wake_get(struct xe_force_wake *fw,
>>> + enum xe_force_wake_domains domains)
>>> {
>>> struct xe_gt *gt = fw->gt;
>>> struct xe_force_wake_domain *domain;
>>> - enum xe_force_wake_domains tmp, woken = 0;
>>> + unsigned int tmp, ret, awake_rqst = 0, awake_failed = 0;
>>> unsigned long flags;
>>> - int ret = 0;
>>> spin_lock_irqsave(&fw->lock, flags);
>>> for_each_fw_domain_masked(domain, domains, fw, tmp) {
>>> if (!domain->ref++) {
>>> - woken |= BIT(domain->id);
>>> + awake_rqst |= BIT(domain->id);
>>> domain_wake(gt, domain);
>>> }
>>> }
>>> - for_each_fw_domain_masked(domain, woken, fw, tmp) {
>>> - ret |= domain_wake_wait(gt, domain);
>>> + for_each_fw_domain_masked(domain, awake_rqst, fw, tmp) {
>>> + if (domain_wake_wait(gt, domain) == 0) {
>>> + fw->awake_domains |= BIT(domain->id);
>>> + } else {
>>> + awake_failed |= BIT(domain->id);
>>> + --domain->ref;
>>> + }
>>> }
>>> - fw->awake_domains |= woken;
>>> + ret = (domains & ~awake_failed);
>>> spin_unlock_irqrestore(&fw->lock, flags);
>>> + xe_gt_WARN(gt, awake_failed, "domain%s %#x failed to
>>> acknowledgment awake\n",
>>> + str_plural(hweight_long(awake_failed)), awake_failed);
>>> +
>>> return ret;
>>> }
>>> diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/
>>> xe/xe_force_wake.h
>>> index a2577672f4e3..6c1ade39139b 100644
>>> --- a/drivers/gpu/drm/xe/xe_force_wake.h
>>> +++ b/drivers/gpu/drm/xe/xe_force_wake.h
>>> @@ -15,8 +15,8 @@ void xe_force_wake_init_gt(struct xe_gt *gt,
>>> struct xe_force_wake *fw);
>>> void xe_force_wake_init_engines(struct xe_gt *gt,
>>> struct xe_force_wake *fw);
>>> -int xe_force_wake_get(struct xe_force_wake *fw,
>>> - enum xe_force_wake_domains domains);
>>> +unsigned int xe_force_wake_get(struct xe_force_wake *fw,
>>> + enum xe_force_wake_domains domains);
>>> int xe_force_wake_put(struct xe_force_wake *fw,
>>> enum xe_force_wake_domains domains);
>>>
>>
>
^ permalink raw reply [flat|nested] 46+ messages in thread* Re: [PATCH v5 01/23] drm/xe: Error handling in xe_force_wake_get()
2024-09-25 17:20 ` Michal Wajdeczko
@ 2024-09-25 18:14 ` Ghimiray, Himal Prasad
2024-09-26 11:03 ` Michal Wajdeczko
0 siblings, 1 reply; 46+ messages in thread
From: Ghimiray, Himal Prasad @ 2024-09-25 18:14 UTC (permalink / raw)
To: Michal Wajdeczko, intel-xe
Cc: Badal Nilawar, Rodrigo Vivi, Lucas De Marchi, Nirmoy Das
On 25-09-2024 22:50, Michal Wajdeczko wrote:
>
>
> On 25.09.2024 18:36, Ghimiray, Himal Prasad wrote:
>>
>>
>> On 25-09-2024 17:31, Michal Wajdeczko wrote:
>>>
>>>
>>> On 24.09.2024 14:16, Himal Prasad Ghimiray wrote:
>>>> If an acknowledgment timeout occurs for a domain awake request, do not
>>>> increment the reference count for the domain. This ensures that
>>>> subsequent _get calls do not incorrectly assume the domain is awake. The
>>>> return value is a mask of domains whose reference counts were
>>>> incremented, and these domains need to be released using
>>>> xe_force_wake_put.
>>>>
>>>> The caller needs to compare the return value with the input domains to
>>>> determine the success or failure of the operation and decide whether to
>>>> continue or return accordingly.
>>>>
>>>> While at it, add simple kernel-doc for xe_force_wake_get()
>>>>
>>>> v3
>>>> - Use explicit type for mask (Michal/Badal)
>>>> - Improve kernel-doc (Michal)
>>>> - Use unsigned int instead of abusing enum (Michal)
>>>>
>>>> v5
>>>> - Use unsigned int for return (MattB/Badal/Rodrigo)
>>>> - use xe_gt_WARN for domain awake ack failure (Badal/Rodrigo)
>>>>
>>>> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
>>>> Cc: Badal Nilawar <badal.nilawar@intel.com>
>>>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>>> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>>>> Cc: Nirmoy Das <nirmoy.das@intel.com>
>>>> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
>>>> ---
>>>> drivers/gpu/drm/xe/xe_force_wake.c | 37 +++++++++++++++++++++++-------
>>>> drivers/gpu/drm/xe/xe_force_wake.h | 4 ++--
>>>> 2 files changed, 31 insertions(+), 10 deletions(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/
>>>> xe_force_wake.c
>>>> index a64c14757c84..d190aa93be90 100644
>>>> --- a/drivers/gpu/drm/xe/xe_force_wake.c
>>>> +++ b/drivers/gpu/drm/xe/xe_force_wake.c
>>>> @@ -150,28 +150,49 @@ static int domain_sleep_wait(struct xe_gt *gt,
>>>> (ffs(tmp__) - 1))) && \
>>>> domain__->reg_ctl.addr)
>>>> -int xe_force_wake_get(struct xe_force_wake *fw,
>>>> - enum xe_force_wake_domains domains)
>>>> +/**
>>>> + * xe_force_wake_get() : Increase the domain refcount
>>>> + * @fw: struct xe_force_wake
>>>> + * @domains: forcewake domains to get refcount on
>>>> + *
>>>> + * This function takes references for the input @domains and wakes
>>>> them if
>>>> + * they are asleep.
>>>
>>> nit: likely we should also add the note that one shall call the
>>> xe_force_wake_put() function to decrease refcounts
>>
>> Sure.
>>
>>>
>>>> + *
>>>> + * Return: mask of refcount increased domains.
>>>
>>> do we really need to expose implementation detail to the caller?
>>>
>>> can't we just treat the returned value as opaque data that just needs to
>>> be passed to the matching xe_force_wake_put(fw, ref) call ?
>>>
>>>> If the return value is
>>>> + * equal to the input parameter @domains, the operation is considered
>>>> + * successful.
>>>
>>> sorry, but I'm still little uncomfortable with such approach, due to a
>>> mismatch between input parameter type that is enum xe_force_wake_domains
>>> and return type which is unsigned int, as IMO forcing the user to
>>> compare two different types seems wrong
>>
>> Sure, I understand the thought process behind it. Will a helper to do it
>> is OK. Justifying below for the helper.
>>
>>>
>>> can't we just say that if returned value is zero then no domains were
>>> waken (which would provide definite answer if single domain was
>>> requested) ?
>>
>> I am concerned about the scenario, where user ends up considering non
>> zero return of FORCEWAKE_ALL as success.
>
> while user can always do something wrong, note that in above statement
> we didn't say that _all_ requested domains were awake if ref != 0
>
>>
>> Having multiple success or failure condition for same API, based on
>> input parameter looks bad design to me.
>
> it's not multiple, in fact it is unified:
>
> 1) ALL_DOMAINS
>
> ref = xe_force_wake_get(fw, ALL_DOMAINS)
> if (!ref)
> return -EIO
>
> // explicit check
> if (xe_force_wake_is_awake(fw, SINGLE_DOMAIN))
> ...
>
> xe_force_wake_put(fw, ref)
>
>
> 2a) SINGLE_DOMAIN
>
> ref = xe_force_wake_get(fw, SINGLE_DOMAIN)
> if (!ref)
> return -EIO
>
> // explicit check
> if (xe_force_wake_is_awake(fw, SINGLE_DOMAIN))
> ...
>
> xe_force_wake_put(fw, ref)
>
>
> and what we did is just optimization for SINGLE_DOMAIN
>
> 2b) SINGLE_DOMAIN
>
> ref = xe_force_wake_get(fw, SINGLE_DOMAIN)
> if (!ref)
> return -EIO
>
> BUG_ON(!xe_force_wake_is_awake(fw, SINGLE_DOMAIN))
>
> xe_force_wake_put(fw, ref)
>
>>
>> ref = xe_force_wake_get(fw, GT)
>> if (ref) -> means success condn
>>
>> whereas
>>
>> ref = xe_force_wake_put(fw, ALL)
>> if (ref) -> doesn't necessarily means successfully awakened all domain.
>>
>> User can very easily interpret it wrongly:
>> ref = xe_force_wake_get(fw, ALL)
>> if(!ref)
>> error_handling;
>>
>> /* Irrespective of failure or success of xe_force_wake_get code reaches
>> here */
>> do_multiple_operations(); /* Needed all fw domains supported on GT to be
>> awake */
>>
>> xe_force_wake_put(fw, ref);
>>
>> We have use-cases throughout the driver where user relies on success/
>> failure for FORCEWAKE_ALL domains.
>
> maybe for more consistent API we should have two functions:
>
> a) pass only if _all_ domains are awake
>
> ref = xe_force_wake_get(fw, ALL_DOMAINS)
> if (!ref)
> return -EIO
>
> // no need for explicit checks
> BUG_ON(!xe_force_wake_is_awake(fw, FOO_DOMAIN))
> BUG_ON(!xe_force_wake_is_awake(fw, BAR_DOMAIN))
> ...
>
> xe_force_wake_put(fw, ref)
>
> b) fails only if _all_ domains are not awake
>
> ref = xe_force_wake_get(fw, ALL_DOMAINS)
> if (!ref)
> return -EIO
>
> // must do explicit checks
> if (xe_force_wake_is_awake(fw, SINGLE_DOMAIN))
> ...
>
> xe_force_wake_put(fw, ref)
>>
>>>
>>> and for the xe_force_wake_get(fw, ALL_DOMAINS) case, we can provide
>>> helper function that will check if specified domain is really awake:
>>>
>>> ref = xe_force_wake_put(fw, ALL_DOMAIN)
>>>
>>> if (ref) {
>>> xe_force_wake_is_awake(fw, SINGLE_DOMAIN)
>>
>>
>> I assume this API is to check whether ref has domain in it or not. Will
>> be good helper to have for such scenarios, Which are currently not there
>> in driver.
>
> there could be two variants, one that checks fw
>
> xe_force_wake_is_awake(fw, SINGLE_DOMAIN)
>
> other that checks ref
>
> xe_force_wake_ref_has_domain(ref, SINGLE_DOMAIN)
>
> but the only benefit from the latter is that it could be lightweight as
> otherwise
>
> BUG_ON(xe_force_wake_is_awake(fw, SINGLE_DOMAIN) ^
> xe_force_wake_ref_has_domain(ref, SINGLE_DOMAIN))
>
>>
>>
>>>
>>> xe_force_wake_put(fw, ref)
>>> }
>>>
>>
>> I believe a helper to determine success or failure of force_wake_get,
>> instead of caller doing it will streamline all the domains and usecases.
>>
>> int xe_force_wake_get_status(enum domain, unsigned int fw_ref)
>> {
>> return (fw_ref == domain) ? 0 : -ETIMEDOUT;
>> }
>
> I'm not sure we should provide error code, IMO simple bool function will
> better and caller can decide what to do next
-ETIMEDOUT is the actual error code for domain awake acknowledgment
failure that is why I added it. I am fine with bool and letting caller
decide.
Thinking more about it, better not to have xe_force_wake_is_awake and
rely on xe_force_wake_ref_has_domain.
fw->awake_domain is global state and could be awaken from anywhere
doesn't guarantee it is awaken by current force_wake_get(). Can be a
misused.
Since you recommended using bool. How about ?
bool xe_force_wake_ref_has_domain(enum domain, unsigned int fw_ref)
{ return (fw_ref & domain == domain) ? true : false ;
}
works for all scenario:
ref = xe_force_wake_get(fw, SINGLE)
if(!xe_force_wake_ref_has_domain(SINGLE, ref)) -> failure
ref = xe_force_wake_get(fw, ALL)
!xe_force_wake_ref_has_domain(ALL, ref) -> failure
ref = xe_force_wake_get(fw, ALL)
if(!xe_force_wake_ref_has_domain(SINGLE, ref)) -> failure
If you find this to be ok. Will define this helper and use it to check
status of force_wake_get.
BR
Himal
>
>>
>> Usecases:
>>
>> A) No error check, just continue in case of failure too.
>>
>> ref = xe_force_wake_get(fw, domain /* can be ALL_DOMAIN */);
>> do_operations();
>> xe_force_wake_put(fw, ref);
>
> yep
>
> and inside do_operations() we can always use xe_force_wake_is_awake to
> check every domain
>
>>
>> B) error check, abort in case of failure.
>>
>> ref = xe_force_wake_get(fw, domain /* can be ALL_DOMAIN */);
>> int err = xe_force_wake_get_status(domain, ref);
>> if(err) {
>> xe_force_wake_put(fw, ref);
>> return err;
>> }
>> do_operations();
>> xe_force_wake_put(fw, ref);
>
> nay, too complicated, better:
>
> ref = xe_force_wake_get(fw, ALL);
>
> err = xe_force_wake_is_awake(fw, ALL) ? do_operations() : -EFATAL;
>
> xe_force_wake_put(fw, ref);
>
>>
>> c) get all domain, but check specific domain:
>>
>> ref = xe_force_wake_get(fw, ALL_domain);
>> if (xe_force_wake_get_status(domain, ref))
>> dmesg_warn( "unable to awake all requested domain \n");
>
> IIRC in xe_force_wake_get() there is one WARN already
>
>>
>> if (xe_fwref_has_domain(fw, SINGLE_DOMAIN))
>> do_operations()
>>
>> xe_force_wake_put(fw, ref);
>>
>
> so maybe simpler:
>
> ref = xe_force_wake_get(fw, ALL);
>
> err = xe_force_wake_is_awake(fw, FOO) ? do_operations() : -EMINOR;
>
> xe_force_wake_put(fw, ref);
>
>
>>>> Otherwise, the operation is considered a failure, and
>>>> + * the caller should handle the failure case, potentially returning
>>>> + * -ETIMEDOUT.
>>>> + */
>>>> +unsigned int xe_force_wake_get(struct xe_force_wake *fw,
>>>> + enum xe_force_wake_domains domains)
>>>> {
>>>> struct xe_gt *gt = fw->gt;
>>>> struct xe_force_wake_domain *domain;
>>>> - enum xe_force_wake_domains tmp, woken = 0;
>>>> + unsigned int tmp, ret, awake_rqst = 0, awake_failed = 0;
>>>> unsigned long flags;
>>>> - int ret = 0;
>>>> spin_lock_irqsave(&fw->lock, flags);
>>>> for_each_fw_domain_masked(domain, domains, fw, tmp) {
>>>> if (!domain->ref++) {
>>>> - woken |= BIT(domain->id);
>>>> + awake_rqst |= BIT(domain->id);
>>>> domain_wake(gt, domain);
>>>> }
>>>> }
>>>> - for_each_fw_domain_masked(domain, woken, fw, tmp) {
>>>> - ret |= domain_wake_wait(gt, domain);
>>>> + for_each_fw_domain_masked(domain, awake_rqst, fw, tmp) {
>>>> + if (domain_wake_wait(gt, domain) == 0) {
>>>> + fw->awake_domains |= BIT(domain->id);
>>>> + } else {
>>>> + awake_failed |= BIT(domain->id);
>>>> + --domain->ref;
>>>> + }
>>>> }
>>>> - fw->awake_domains |= woken;
>>>> + ret = (domains & ~awake_failed);
>>>> spin_unlock_irqrestore(&fw->lock, flags);
>>>> + xe_gt_WARN(gt, awake_failed, "domain%s %#x failed to
>>>> acknowledgment awake\n",
>>>> + str_plural(hweight_long(awake_failed)), awake_failed);
>>>> +
>>>> return ret;
>>>> }
>>>> diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/
>>>> xe/xe_force_wake.h
>>>> index a2577672f4e3..6c1ade39139b 100644
>>>> --- a/drivers/gpu/drm/xe/xe_force_wake.h
>>>> +++ b/drivers/gpu/drm/xe/xe_force_wake.h
>>>> @@ -15,8 +15,8 @@ void xe_force_wake_init_gt(struct xe_gt *gt,
>>>> struct xe_force_wake *fw);
>>>> void xe_force_wake_init_engines(struct xe_gt *gt,
>>>> struct xe_force_wake *fw);
>>>> -int xe_force_wake_get(struct xe_force_wake *fw,
>>>> - enum xe_force_wake_domains domains);
>>>> +unsigned int xe_force_wake_get(struct xe_force_wake *fw,
>>>> + enum xe_force_wake_domains domains);
>>>> int xe_force_wake_put(struct xe_force_wake *fw,
>>>> enum xe_force_wake_domains domains);
>>>>
>>>
>>
>
^ permalink raw reply [flat|nested] 46+ messages in thread* Re: [PATCH v5 01/23] drm/xe: Error handling in xe_force_wake_get()
2024-09-25 18:14 ` Ghimiray, Himal Prasad
@ 2024-09-26 11:03 ` Michal Wajdeczko
2024-09-26 11:43 ` Ghimiray, Himal Prasad
0 siblings, 1 reply; 46+ messages in thread
From: Michal Wajdeczko @ 2024-09-26 11:03 UTC (permalink / raw)
To: Ghimiray, Himal Prasad, intel-xe
Cc: Badal Nilawar, Rodrigo Vivi, Lucas De Marchi, Nirmoy Das
On 25.09.2024 20:14, Ghimiray, Himal Prasad wrote:
>
>
> On 25-09-2024 22:50, Michal Wajdeczko wrote:
>>
>>
>> On 25.09.2024 18:36, Ghimiray, Himal Prasad wrote:
>>>
>>>
>>> On 25-09-2024 17:31, Michal Wajdeczko wrote:
>>>>
>>>>
>>>> On 24.09.2024 14:16, Himal Prasad Ghimiray wrote:
>>>>> If an acknowledgment timeout occurs for a domain awake request, do not
>>>>> increment the reference count for the domain. This ensures that
>>>>> subsequent _get calls do not incorrectly assume the domain is
>>>>> awake. The
>>>>> return value is a mask of domains whose reference counts were
>>>>> incremented, and these domains need to be released using
>>>>> xe_force_wake_put.
>>>>>
>>>>> The caller needs to compare the return value with the input domains to
>>>>> determine the success or failure of the operation and decide
>>>>> whether to
>>>>> continue or return accordingly.
>>>>>
>>>>> While at it, add simple kernel-doc for xe_force_wake_get()
>>>>>
>>>>> v3
>>>>> - Use explicit type for mask (Michal/Badal)
>>>>> - Improve kernel-doc (Michal)
>>>>> - Use unsigned int instead of abusing enum (Michal)
>>>>>
>>>>> v5
>>>>> - Use unsigned int for return (MattB/Badal/Rodrigo)
>>>>> - use xe_gt_WARN for domain awake ack failure (Badal/Rodrigo)
>>>>>
>>>>> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
>>>>> Cc: Badal Nilawar <badal.nilawar@intel.com>
>>>>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>>>> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>>>>> Cc: Nirmoy Das <nirmoy.das@intel.com>
>>>>> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
>>>>> ---
>>>>> drivers/gpu/drm/xe/xe_force_wake.c | 37 ++++++++++++++++++++++
>>>>> +-------
>>>>> drivers/gpu/drm/xe/xe_force_wake.h | 4 ++--
>>>>> 2 files changed, 31 insertions(+), 10 deletions(-)
>>>>>
>>>>> diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/
>>>>> xe_force_wake.c
>>>>> index a64c14757c84..d190aa93be90 100644
>>>>> --- a/drivers/gpu/drm/xe/xe_force_wake.c
>>>>> +++ b/drivers/gpu/drm/xe/xe_force_wake.c
>>>>> @@ -150,28 +150,49 @@ static int domain_sleep_wait(struct xe_gt *gt,
>>>>> (ffs(tmp__) - 1))) && \
>>>>> domain__->reg_ctl.addr)
>>>>> -int xe_force_wake_get(struct xe_force_wake *fw,
>>>>> - enum xe_force_wake_domains domains)
>>>>> +/**
>>>>> + * xe_force_wake_get() : Increase the domain refcount
>>>>> + * @fw: struct xe_force_wake
>>>>> + * @domains: forcewake domains to get refcount on
>>>>> + *
>>>>> + * This function takes references for the input @domains and wakes
>>>>> them if
>>>>> + * they are asleep.
>>>>
>>>> nit: likely we should also add the note that one shall call the
>>>> xe_force_wake_put() function to decrease refcounts
>>>
>>> Sure.
>>>
>>>>
>>>>> + *
>>>>> + * Return: mask of refcount increased domains.
>>>>
>>>> do we really need to expose implementation detail to the caller?
>>>>
>>>> can't we just treat the returned value as opaque data that just
>>>> needs to
>>>> be passed to the matching xe_force_wake_put(fw, ref) call ?
>>>>
>>>>> If the return value is
>>>>> + * equal to the input parameter @domains, the operation is considered
>>>>> + * successful.
>>>>
>>>> sorry, but I'm still little uncomfortable with such approach, due to a
>>>> mismatch between input parameter type that is enum
>>>> xe_force_wake_domains
>>>> and return type which is unsigned int, as IMO forcing the user to
>>>> compare two different types seems wrong
>>>
>>> Sure, I understand the thought process behind it. Will a helper to do it
>>> is OK. Justifying below for the helper.
>>>
>>>>
>>>> can't we just say that if returned value is zero then no domains were
>>>> waken (which would provide definite answer if single domain was
>>>> requested) ?
>>>
>>> I am concerned about the scenario, where user ends up considering non
>>> zero return of FORCEWAKE_ALL as success.
>>
>> while user can always do something wrong, note that in above statement
>> we didn't say that _all_ requested domains were awake if ref != 0
>>
>>>
>>> Having multiple success or failure condition for same API, based on
>>> input parameter looks bad design to me.
>>
>> it's not multiple, in fact it is unified:
>>
>> 1) ALL_DOMAINS
>>
>> ref = xe_force_wake_get(fw, ALL_DOMAINS)
>> if (!ref)
>> return -EIO
>>
>> // explicit check
>> if (xe_force_wake_is_awake(fw, SINGLE_DOMAIN))
>> ...
>>
>> xe_force_wake_put(fw, ref)
>>
>>
>> 2a) SINGLE_DOMAIN
>>
>> ref = xe_force_wake_get(fw, SINGLE_DOMAIN)
>> if (!ref)
>> return -EIO
>>
>> // explicit check
>> if (xe_force_wake_is_awake(fw, SINGLE_DOMAIN))
>> ...
>>
>> xe_force_wake_put(fw, ref)
>>
>>
>> and what we did is just optimization for SINGLE_DOMAIN
>>
>> 2b) SINGLE_DOMAIN
>>
>> ref = xe_force_wake_get(fw, SINGLE_DOMAIN)
>> if (!ref)
>> return -EIO
>>
>> BUG_ON(!xe_force_wake_is_awake(fw, SINGLE_DOMAIN))
>>
>> xe_force_wake_put(fw, ref)
>>
>>>
>>> ref = xe_force_wake_get(fw, GT)
>>> if (ref) -> means success condn
>>>
>>> whereas
>>>
>>> ref = xe_force_wake_put(fw, ALL)
>>> if (ref) -> doesn't necessarily means successfully awakened all domain.
>>>
>>> User can very easily interpret it wrongly:
>>> ref = xe_force_wake_get(fw, ALL)
>>> if(!ref)
>>> error_handling;
>>>
>>> /* Irrespective of failure or success of xe_force_wake_get code reaches
>>> here */
>>> do_multiple_operations(); /* Needed all fw domains supported on GT to be
>>> awake */
>>>
>>> xe_force_wake_put(fw, ref);
>>>
>>> We have use-cases throughout the driver where user relies on success/
>>> failure for FORCEWAKE_ALL domains.
>>
>> maybe for more consistent API we should have two functions:
>>
>> a) pass only if _all_ domains are awake
>>
>> ref = xe_force_wake_get(fw, ALL_DOMAINS)
>> if (!ref)
>> return -EIO
>>
>> // no need for explicit checks
>> BUG_ON(!xe_force_wake_is_awake(fw, FOO_DOMAIN))
>> BUG_ON(!xe_force_wake_is_awake(fw, BAR_DOMAIN))
>> ...
>>
>> xe_force_wake_put(fw, ref)
>>
>> b) fails only if _all_ domains are not awake
>>
>> ref = xe_force_wake_get(fw, ALL_DOMAINS)
>> if (!ref)
>> return -EIO
>>
>> // must do explicit checks
>> if (xe_force_wake_is_awake(fw, SINGLE_DOMAIN))
>> ...
>>
>> xe_force_wake_put(fw, ref)
>>>
>>>>
>>>> and for the xe_force_wake_get(fw, ALL_DOMAINS) case, we can provide
>>>> helper function that will check if specified domain is really awake:
>>>>
>>>> ref = xe_force_wake_put(fw, ALL_DOMAIN)
>>>>
>>>> if (ref) {
>>>> xe_force_wake_is_awake(fw, SINGLE_DOMAIN)
>>>
>>>
>>> I assume this API is to check whether ref has domain in it or not. Will
>>> be good helper to have for such scenarios, Which are currently not there
>>> in driver.
>>
>> there could be two variants, one that checks fw
>>
>> xe_force_wake_is_awake(fw, SINGLE_DOMAIN)
>>
>> other that checks ref
>>
>> xe_force_wake_ref_has_domain(ref, SINGLE_DOMAIN)
>>
>> but the only benefit from the latter is that it could be lightweight as
>> otherwise
>>
>> BUG_ON(xe_force_wake_is_awake(fw, SINGLE_DOMAIN) ^
>> xe_force_wake_ref_has_domain(ref, SINGLE_DOMAIN))
>>
>>>
>>>
>>>>
>>>> xe_force_wake_put(fw, ref)
>>>> }
>>>>
>>>
>>> I believe a helper to determine success or failure of force_wake_get,
>>> instead of caller doing it will streamline all the domains and usecases.
>>>
>>> int xe_force_wake_get_status(enum domain, unsigned int fw_ref)
>>> {
>>> return (fw_ref == domain) ? 0 : -ETIMEDOUT;
>>> }
>>
>> I'm not sure we should provide error code, IMO simple bool function will
>> better and caller can decide what to do next
>
>
> -ETIMEDOUT is the actual error code for domain awake acknowledgment
> failure that is why I added it. I am fine with bool and letting caller
> decide.
>
> Thinking more about it, better not to have xe_force_wake_is_awake and
> rely on xe_force_wake_ref_has_domain.
but nested functions like do_operations() may not have access to the
fw_ref, so we should still allow to check domain status without the ref
> fw->awake_domain is global state and could be awaken from anywhere
> doesn't guarantee it is awaken by current force_wake_get(). Can be a
> misused.
true, so lets just define two helpers to cover all use cases:
bool xe_force_wake_ref_has_domain(unsigned int fw_ref, enum domain)
bool xe_force_wake_is_awake(struct xe_fw *fw, enum domain)
>
> Since you recommended using bool. How about ?
>
> bool xe_force_wake_ref_has_domain(enum domain, unsigned int fw_ref)
> { return (fw_ref & domain == domain) ? true : false ;
> }
you don't need ternary operator and fw_ref should be first:
bool xe_force_wake_ref_has_domain(unsigned int fw_ref, enum domain)
>
> works for all scenario:
>
> ref = xe_force_wake_get(fw, SINGLE)
> if(!xe_force_wake_ref_has_domain(SINGLE, ref)) -> failure
>
>
> ref = xe_force_wake_get(fw, ALL)
> !xe_force_wake_ref_has_domain(ALL, ref) -> failure
>
> ref = xe_force_wake_get(fw, ALL)
> if(!xe_force_wake_ref_has_domain(SINGLE, ref)) -> failure
>
>
> If you find this to be ok. Will define this helper and use it to check
> status of force_wake_get.
with fixed/added helpers it's fine with me
>
> BR
> Himal
>
>>
>>>
>>> Usecases:
>>>
>>> A) No error check, just continue in case of failure too.
>>>
>>> ref = xe_force_wake_get(fw, domain /* can be ALL_DOMAIN */);
>>> do_operations();
>>> xe_force_wake_put(fw, ref);
>>
>> yep
>>
>> and inside do_operations() we can always use xe_force_wake_is_awake to
>> check every domain
>>
>>>
>>> B) error check, abort in case of failure.
>>>
>>> ref = xe_force_wake_get(fw, domain /* can be ALL_DOMAIN */);
>>> int err = xe_force_wake_get_status(domain, ref);
>>> if(err) {
>>> xe_force_wake_put(fw, ref);
>>> return err;
>>> }
>>> do_operations();
>>> xe_force_wake_put(fw, ref);
>>
>> nay, too complicated, better:
>>
>> ref = xe_force_wake_get(fw, ALL);
>>
>> err = xe_force_wake_is_awake(fw, ALL) ? do_operations() : -EFATAL;
>>
>> xe_force_wake_put(fw, ref);
>>
>>>
>>> c) get all domain, but check specific domain:
>>>
>>> ref = xe_force_wake_get(fw, ALL_domain);
>>> if (xe_force_wake_get_status(domain, ref))
>>> dmesg_warn( "unable to awake all requested domain \n");
>>
>> IIRC in xe_force_wake_get() there is one WARN already
>>
>>>
>>> if (xe_fwref_has_domain(fw, SINGLE_DOMAIN))
>>> do_operations()
>>>
>>> xe_force_wake_put(fw, ref);
>>>
>>
>> so maybe simpler:
>>
>> ref = xe_force_wake_get(fw, ALL);
>>
>> err = xe_force_wake_is_awake(fw, FOO) ? do_operations() : -EMINOR;
>>
>> xe_force_wake_put(fw, ref);
>>
>>
>>>>> Otherwise, the operation is considered a failure, and
>>>>> + * the caller should handle the failure case, potentially returning
>>>>> + * -ETIMEDOUT.
>>>>> + */
>>>>> +unsigned int xe_force_wake_get(struct xe_force_wake *fw,
>>>>> + enum xe_force_wake_domains domains)
>>>>> {
>>>>> struct xe_gt *gt = fw->gt;
>>>>> struct xe_force_wake_domain *domain;
>>>>> - enum xe_force_wake_domains tmp, woken = 0;
>>>>> + unsigned int tmp, ret, awake_rqst = 0, awake_failed = 0;
>>>>> unsigned long flags;
>>>>> - int ret = 0;
>>>>> spin_lock_irqsave(&fw->lock, flags);
>>>>> for_each_fw_domain_masked(domain, domains, fw, tmp) {
>>>>> if (!domain->ref++) {
>>>>> - woken |= BIT(domain->id);
>>>>> + awake_rqst |= BIT(domain->id);
>>>>> domain_wake(gt, domain);
>>>>> }
>>>>> }
>>>>> - for_each_fw_domain_masked(domain, woken, fw, tmp) {
>>>>> - ret |= domain_wake_wait(gt, domain);
>>>>> + for_each_fw_domain_masked(domain, awake_rqst, fw, tmp) {
>>>>> + if (domain_wake_wait(gt, domain) == 0) {
>>>>> + fw->awake_domains |= BIT(domain->id);
>>>>> + } else {
>>>>> + awake_failed |= BIT(domain->id);
>>>>> + --domain->ref;
>>>>> + }
>>>>> }
>>>>> - fw->awake_domains |= woken;
>>>>> + ret = (domains & ~awake_failed);
>>>>> spin_unlock_irqrestore(&fw->lock, flags);
>>>>> + xe_gt_WARN(gt, awake_failed, "domain%s %#x failed to
>>>>> acknowledgment awake\n",
>>>>> + str_plural(hweight_long(awake_failed)), awake_failed);
>>>>> +
>>>>> return ret;
>>>>> }
>>>>> diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/
>>>>> xe/xe_force_wake.h
>>>>> index a2577672f4e3..6c1ade39139b 100644
>>>>> --- a/drivers/gpu/drm/xe/xe_force_wake.h
>>>>> +++ b/drivers/gpu/drm/xe/xe_force_wake.h
>>>>> @@ -15,8 +15,8 @@ void xe_force_wake_init_gt(struct xe_gt *gt,
>>>>> struct xe_force_wake *fw);
>>>>> void xe_force_wake_init_engines(struct xe_gt *gt,
>>>>> struct xe_force_wake *fw);
>>>>> -int xe_force_wake_get(struct xe_force_wake *fw,
>>>>> - enum xe_force_wake_domains domains);
>>>>> +unsigned int xe_force_wake_get(struct xe_force_wake *fw,
>>>>> + enum xe_force_wake_domains domains);
>>>>> int xe_force_wake_put(struct xe_force_wake *fw,
>>>>> enum xe_force_wake_domains domains);
>>>>>
>>>>
>>>
>>
>
^ permalink raw reply [flat|nested] 46+ messages in thread* Re: [PATCH v5 01/23] drm/xe: Error handling in xe_force_wake_get()
2024-09-26 11:03 ` Michal Wajdeczko
@ 2024-09-26 11:43 ` Ghimiray, Himal Prasad
0 siblings, 0 replies; 46+ messages in thread
From: Ghimiray, Himal Prasad @ 2024-09-26 11:43 UTC (permalink / raw)
To: Michal Wajdeczko, intel-xe
Cc: Badal Nilawar, Rodrigo Vivi, Lucas De Marchi, Nirmoy Das
On 26-09-2024 16:33, Michal Wajdeczko wrote:
>
>
> On 25.09.2024 20:14, Ghimiray, Himal Prasad wrote:
>>
>>
>> On 25-09-2024 22:50, Michal Wajdeczko wrote:
>>>
>>>
>>> On 25.09.2024 18:36, Ghimiray, Himal Prasad wrote:
>>>>
>>>>
>>>> On 25-09-2024 17:31, Michal Wajdeczko wrote:
>>>>>
>>>>>
>>>>> On 24.09.2024 14:16, Himal Prasad Ghimiray wrote:
>>>>>> If an acknowledgment timeout occurs for a domain awake request, do not
>>>>>> increment the reference count for the domain. This ensures that
>>>>>> subsequent _get calls do not incorrectly assume the domain is
>>>>>> awake. The
>>>>>> return value is a mask of domains whose reference counts were
>>>>>> incremented, and these domains need to be released using
>>>>>> xe_force_wake_put.
>>>>>>
>>>>>> The caller needs to compare the return value with the input domains to
>>>>>> determine the success or failure of the operation and decide
>>>>>> whether to
>>>>>> continue or return accordingly.
>>>>>>
>>>>>> While at it, add simple kernel-doc for xe_force_wake_get()
>>>>>>
>>>>>> v3
>>>>>> - Use explicit type for mask (Michal/Badal)
>>>>>> - Improve kernel-doc (Michal)
>>>>>> - Use unsigned int instead of abusing enum (Michal)
>>>>>>
>>>>>> v5
>>>>>> - Use unsigned int for return (MattB/Badal/Rodrigo)
>>>>>> - use xe_gt_WARN for domain awake ack failure (Badal/Rodrigo)
>>>>>>
>>>>>> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
>>>>>> Cc: Badal Nilawar <badal.nilawar@intel.com>
>>>>>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>>>>>> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>>>>>> Cc: Nirmoy Das <nirmoy.das@intel.com>
>>>>>> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
>>>>>> ---
>>>>>> drivers/gpu/drm/xe/xe_force_wake.c | 37 ++++++++++++++++++++++
>>>>>> +-------
>>>>>> drivers/gpu/drm/xe/xe_force_wake.h | 4 ++--
>>>>>> 2 files changed, 31 insertions(+), 10 deletions(-)
>>>>>>
>>>>>> diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/
>>>>>> xe_force_wake.c
>>>>>> index a64c14757c84..d190aa93be90 100644
>>>>>> --- a/drivers/gpu/drm/xe/xe_force_wake.c
>>>>>> +++ b/drivers/gpu/drm/xe/xe_force_wake.c
>>>>>> @@ -150,28 +150,49 @@ static int domain_sleep_wait(struct xe_gt *gt,
>>>>>> (ffs(tmp__) - 1))) && \
>>>>>> domain__->reg_ctl.addr)
>>>>>> -int xe_force_wake_get(struct xe_force_wake *fw,
>>>>>> - enum xe_force_wake_domains domains)
>>>>>> +/**
>>>>>> + * xe_force_wake_get() : Increase the domain refcount
>>>>>> + * @fw: struct xe_force_wake
>>>>>> + * @domains: forcewake domains to get refcount on
>>>>>> + *
>>>>>> + * This function takes references for the input @domains and wakes
>>>>>> them if
>>>>>> + * they are asleep.
>>>>>
>>>>> nit: likely we should also add the note that one shall call the
>>>>> xe_force_wake_put() function to decrease refcounts
>>>>
>>>> Sure.
>>>>
>>>>>
>>>>>> + *
>>>>>> + * Return: mask of refcount increased domains.
>>>>>
>>>>> do we really need to expose implementation detail to the caller?
>>>>>
>>>>> can't we just treat the returned value as opaque data that just
>>>>> needs to
>>>>> be passed to the matching xe_force_wake_put(fw, ref) call ?
>>>>>
>>>>>> If the return value is
>>>>>> + * equal to the input parameter @domains, the operation is considered
>>>>>> + * successful.
>>>>>
>>>>> sorry, but I'm still little uncomfortable with such approach, due to a
>>>>> mismatch between input parameter type that is enum
>>>>> xe_force_wake_domains
>>>>> and return type which is unsigned int, as IMO forcing the user to
>>>>> compare two different types seems wrong
>>>>
>>>> Sure, I understand the thought process behind it. Will a helper to do it
>>>> is OK. Justifying below for the helper.
>>>>
>>>>>
>>>>> can't we just say that if returned value is zero then no domains were
>>>>> waken (which would provide definite answer if single domain was
>>>>> requested) ?
>>>>
>>>> I am concerned about the scenario, where user ends up considering non
>>>> zero return of FORCEWAKE_ALL as success.
>>>
>>> while user can always do something wrong, note that in above statement
>>> we didn't say that _all_ requested domains were awake if ref != 0
>>>
>>>>
>>>> Having multiple success or failure condition for same API, based on
>>>> input parameter looks bad design to me.
>>>
>>> it's not multiple, in fact it is unified:
>>>
>>> 1) ALL_DOMAINS
>>>
>>> ref = xe_force_wake_get(fw, ALL_DOMAINS)
>>> if (!ref)
>>> return -EIO
>>>
>>> // explicit check
>>> if (xe_force_wake_is_awake(fw, SINGLE_DOMAIN))
>>> ...
>>>
>>> xe_force_wake_put(fw, ref)
>>>
>>>
>>> 2a) SINGLE_DOMAIN
>>>
>>> ref = xe_force_wake_get(fw, SINGLE_DOMAIN)
>>> if (!ref)
>>> return -EIO
>>>
>>> // explicit check
>>> if (xe_force_wake_is_awake(fw, SINGLE_DOMAIN))
>>> ...
>>>
>>> xe_force_wake_put(fw, ref)
>>>
>>>
>>> and what we did is just optimization for SINGLE_DOMAIN
>>>
>>> 2b) SINGLE_DOMAIN
>>>
>>> ref = xe_force_wake_get(fw, SINGLE_DOMAIN)
>>> if (!ref)
>>> return -EIO
>>>
>>> BUG_ON(!xe_force_wake_is_awake(fw, SINGLE_DOMAIN))
>>>
>>> xe_force_wake_put(fw, ref)
>>>
>>>>
>>>> ref = xe_force_wake_get(fw, GT)
>>>> if (ref) -> means success condn
>>>>
>>>> whereas
>>>>
>>>> ref = xe_force_wake_put(fw, ALL)
>>>> if (ref) -> doesn't necessarily means successfully awakened all domain.
>>>>
>>>> User can very easily interpret it wrongly:
>>>> ref = xe_force_wake_get(fw, ALL)
>>>> if(!ref)
>>>> error_handling;
>>>>
>>>> /* Irrespective of failure or success of xe_force_wake_get code reaches
>>>> here */
>>>> do_multiple_operations(); /* Needed all fw domains supported on GT to be
>>>> awake */
>>>>
>>>> xe_force_wake_put(fw, ref);
>>>>
>>>> We have use-cases throughout the driver where user relies on success/
>>>> failure for FORCEWAKE_ALL domains.
>>>
>>> maybe for more consistent API we should have two functions:
>>>
>>> a) pass only if _all_ domains are awake
>>>
>>> ref = xe_force_wake_get(fw, ALL_DOMAINS)
>>> if (!ref)
>>> return -EIO
>>>
>>> // no need for explicit checks
>>> BUG_ON(!xe_force_wake_is_awake(fw, FOO_DOMAIN))
>>> BUG_ON(!xe_force_wake_is_awake(fw, BAR_DOMAIN))
>>> ...
>>>
>>> xe_force_wake_put(fw, ref)
>>>
>>> b) fails only if _all_ domains are not awake
>>>
>>> ref = xe_force_wake_get(fw, ALL_DOMAINS)
>>> if (!ref)
>>> return -EIO
>>>
>>> // must do explicit checks
>>> if (xe_force_wake_is_awake(fw, SINGLE_DOMAIN))
>>> ...
>>>
>>> xe_force_wake_put(fw, ref)
>>>>
>>>>>
>>>>> and for the xe_force_wake_get(fw, ALL_DOMAINS) case, we can provide
>>>>> helper function that will check if specified domain is really awake:
>>>>>
>>>>> ref = xe_force_wake_put(fw, ALL_DOMAIN)
>>>>>
>>>>> if (ref) {
>>>>> xe_force_wake_is_awake(fw, SINGLE_DOMAIN)
>>>>
>>>>
>>>> I assume this API is to check whether ref has domain in it or not. Will
>>>> be good helper to have for such scenarios, Which are currently not there
>>>> in driver.
>>>
>>> there could be two variants, one that checks fw
>>>
>>> xe_force_wake_is_awake(fw, SINGLE_DOMAIN)
>>>
>>> other that checks ref
>>>
>>> xe_force_wake_ref_has_domain(ref, SINGLE_DOMAIN)
>>>
>>> but the only benefit from the latter is that it could be lightweight as
>>> otherwise
>>>
>>> BUG_ON(xe_force_wake_is_awake(fw, SINGLE_DOMAIN) ^
>>> xe_force_wake_ref_has_domain(ref, SINGLE_DOMAIN))
>>>
>>>>
>>>>
>>>>>
>>>>> xe_force_wake_put(fw, ref)
>>>>> }
>>>>>
>>>>
>>>> I believe a helper to determine success or failure of force_wake_get,
>>>> instead of caller doing it will streamline all the domains and usecases.
>>>>
>>>> int xe_force_wake_get_status(enum domain, unsigned int fw_ref)
>>>> {
>>>> return (fw_ref == domain) ? 0 : -ETIMEDOUT;
>>>> }
>>>
>>> I'm not sure we should provide error code, IMO simple bool function will
>>> better and caller can decide what to do next
>>
>>
>> -ETIMEDOUT is the actual error code for domain awake acknowledgment
>> failure that is why I added it. I am fine with bool and letting caller
>> decide.
>>
>> Thinking more about it, better not to have xe_force_wake_is_awake and
>> rely on xe_force_wake_ref_has_domain.
>
> but nested functions like do_operations() may not have access to the
> fw_ref, so we should still allow to check domain status without the ref
>
That is true, In that case isn't it always safe to call another
xe_force_wake_get/put instead of creating helper like
xe_force_wake_is_awake(which is guaranteed to be unsafe in nested
functions) ?
>> fw->awake_domain is global state and could be awaken from anywhere
>> doesn't guarantee it is awaken by current force_wake_get(). Can be a
>> misused.
>
> true, so lets just define two helpers to cover all use cases:
>
> bool xe_force_wake_ref_has_domain(unsigned int fw_ref, enum domain)
> bool xe_force_wake_is_awake(struct xe_fw *fw, enum domain)
I find this helper risky, but if you insist will go ahead with it.
>
>>
>> Since you recommended using bool. How about ?
>>
>> bool xe_force_wake_ref_has_domain(enum domain, unsigned int fw_ref)
>> { return (fw_ref & domain == domain) ? true : false ;
>> }
>
> you don't need ternary operator and fw_ref should be first:
Sure. Makes sense.
>
> bool xe_force_wake_ref_has_domain(unsigned int fw_ref, enum domain)
>
>>
>> works for all scenario:
>>
>> ref = xe_force_wake_get(fw, SINGLE)
>> if(!xe_force_wake_ref_has_domain(SINGLE, ref)) -> failure
>>
>>
>> ref = xe_force_wake_get(fw, ALL)
>> !xe_force_wake_ref_has_domain(ALL, ref) -> failure
>>
>> ref = xe_force_wake_get(fw, ALL)
>> if(!xe_force_wake_ref_has_domain(SINGLE, ref)) -> failure
>>
>>
>> If you find this to be ok. Will define this helper and use it to check
>> status of force_wake_get.
>
> with fixed/added helpers it's fine with me
Thanks for confirming this.
>
>>
>> BR
>> Himal
>>
>>>
>>>>
>>>> Usecases:
>>>>
>>>> A) No error check, just continue in case of failure too.
>>>>
>>>> ref = xe_force_wake_get(fw, domain /* can be ALL_DOMAIN */);
>>>> do_operations();
>>>> xe_force_wake_put(fw, ref);
>>>
>>> yep
>>>
>>> and inside do_operations() we can always use xe_force_wake_is_awake to
>>> check every domain
>>>
>>>>
>>>> B) error check, abort in case of failure.
>>>>
>>>> ref = xe_force_wake_get(fw, domain /* can be ALL_DOMAIN */);
>>>> int err = xe_force_wake_get_status(domain, ref);
>>>> if(err) {
>>>> xe_force_wake_put(fw, ref);
>>>> return err;
>>>> }
>>>> do_operations();
>>>> xe_force_wake_put(fw, ref);
>>>
>>> nay, too complicated, better:
>>>
>>> ref = xe_force_wake_get(fw, ALL);
>>>
>>> err = xe_force_wake_is_awake(fw, ALL) ? do_operations() : -EFATAL;
>>>
>>> xe_force_wake_put(fw, ref);
>>>
>>>>
>>>> c) get all domain, but check specific domain:
>>>>
>>>> ref = xe_force_wake_get(fw, ALL_domain);
>>>> if (xe_force_wake_get_status(domain, ref))
>>>> dmesg_warn( "unable to awake all requested domain \n");
>>>
>>> IIRC in xe_force_wake_get() there is one WARN already
>>>
>>>>
>>>> if (xe_fwref_has_domain(fw, SINGLE_DOMAIN))
>>>> do_operations()
>>>>
>>>> xe_force_wake_put(fw, ref);
>>>>
>>>
>>> so maybe simpler:
>>>
>>> ref = xe_force_wake_get(fw, ALL);
>>>
>>> err = xe_force_wake_is_awake(fw, FOO) ? do_operations() : -EMINOR;
>>>
>>> xe_force_wake_put(fw, ref);
>>>
>>>
>>>>>> Otherwise, the operation is considered a failure, and
>>>>>> + * the caller should handle the failure case, potentially returning
>>>>>> + * -ETIMEDOUT.
>>>>>> + */
>>>>>> +unsigned int xe_force_wake_get(struct xe_force_wake *fw,
>>>>>> + enum xe_force_wake_domains domains)
>>>>>> {
>>>>>> struct xe_gt *gt = fw->gt;
>>>>>> struct xe_force_wake_domain *domain;
>>>>>> - enum xe_force_wake_domains tmp, woken = 0;
>>>>>> + unsigned int tmp, ret, awake_rqst = 0, awake_failed = 0;
>>>>>> unsigned long flags;
>>>>>> - int ret = 0;
>>>>>> spin_lock_irqsave(&fw->lock, flags);
>>>>>> for_each_fw_domain_masked(domain, domains, fw, tmp) {
>>>>>> if (!domain->ref++) {
>>>>>> - woken |= BIT(domain->id);
>>>>>> + awake_rqst |= BIT(domain->id);
>>>>>> domain_wake(gt, domain);
>>>>>> }
>>>>>> }
>>>>>> - for_each_fw_domain_masked(domain, woken, fw, tmp) {
>>>>>> - ret |= domain_wake_wait(gt, domain);
>>>>>> + for_each_fw_domain_masked(domain, awake_rqst, fw, tmp) {
>>>>>> + if (domain_wake_wait(gt, domain) == 0) {
>>>>>> + fw->awake_domains |= BIT(domain->id);
>>>>>> + } else {
>>>>>> + awake_failed |= BIT(domain->id);
>>>>>> + --domain->ref;
>>>>>> + }
>>>>>> }
>>>>>> - fw->awake_domains |= woken;
>>>>>> + ret = (domains & ~awake_failed);
>>>>>> spin_unlock_irqrestore(&fw->lock, flags);
>>>>>> + xe_gt_WARN(gt, awake_failed, "domain%s %#x failed to
>>>>>> acknowledgment awake\n",
>>>>>> + str_plural(hweight_long(awake_failed)), awake_failed);
>>>>>> +
>>>>>> return ret;
>>>>>> }
>>>>>> diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/
>>>>>> xe/xe_force_wake.h
>>>>>> index a2577672f4e3..6c1ade39139b 100644
>>>>>> --- a/drivers/gpu/drm/xe/xe_force_wake.h
>>>>>> +++ b/drivers/gpu/drm/xe/xe_force_wake.h
>>>>>> @@ -15,8 +15,8 @@ void xe_force_wake_init_gt(struct xe_gt *gt,
>>>>>> struct xe_force_wake *fw);
>>>>>> void xe_force_wake_init_engines(struct xe_gt *gt,
>>>>>> struct xe_force_wake *fw);
>>>>>> -int xe_force_wake_get(struct xe_force_wake *fw,
>>>>>> - enum xe_force_wake_domains domains);
>>>>>> +unsigned int xe_force_wake_get(struct xe_force_wake *fw,
>>>>>> + enum xe_force_wake_domains domains);
>>>>>> int xe_force_wake_put(struct xe_force_wake *fw,
>>>>>> enum xe_force_wake_domains domains);
>>>>>>
>>>>>
>>>>
>>>
>>
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* [PATCH v5 02/23] drm/xe: Modify xe_force_wake_put to handle _get returned mask
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 01/23] drm/xe: Error handling in xe_force_wake_get() Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-25 10:27 ` Nilawar, Badal
2024-09-25 14:03 ` Michal Wajdeczko
2024-09-24 12:16 ` [PATCH v5 03/23] drm/xe/device: Update handling of xe_force_wake_get return Himal Prasad Ghimiray
` (28 subsequent siblings)
30 siblings, 2 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe
Cc: Himal Prasad Ghimiray, Michal Wajdeczko, Badal Nilawar,
Rodrigo Vivi, Lucas De Marchi, Nirmoy Das
Instead of calling xe_force_wake_put on all domains that were input to
xe_force_wake_get, call _put only on the domains whose reference counts
were successfully incremented by the _get call. Since the return value
of _get can be a mask that does not match any specific value in the enum
xe_force_wake_domains, change the input parameter of _put to xe_wakeref_t.
v3
- Move WARN to this patch (Badal)
- use xe_gt_WARN instead of XE_WARN (Michal)
- Stop using xe_force_wake_domains for non enum values.
- Remove kernel-doc from this patch (Badal)
-v5
- Fix global awake_domain
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Badal Nilawar <badal.nilawar@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Nirmoy Das <nirmoy.das@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_force_wake.c | 21 ++++++++++++++++-----
drivers/gpu/drm/xe/xe_force_wake.h | 2 +-
2 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/xe_force_wake.c
index d190aa93be90..c805214bc348 100644
--- a/drivers/gpu/drm/xe/xe_force_wake.c
+++ b/drivers/gpu/drm/xe/xe_force_wake.c
@@ -197,26 +197,37 @@ unsigned int xe_force_wake_get(struct xe_force_wake *fw,
}
int xe_force_wake_put(struct xe_force_wake *fw,
- enum xe_force_wake_domains domains)
+ unsigned int domains_mask)
{
struct xe_gt *gt = fw->gt;
struct xe_force_wake_domain *domain;
- enum xe_force_wake_domains tmp, sleep = 0;
+ unsigned int tmp, sleep = 0;
unsigned long flags;
int ret = 0;
+ /*
+ * Avoid unnecessary lock and unlock when the function is called
+ * in error path of individual domains.
+ */
+ if (!domains_mask)
+ return 0;
+
spin_lock_irqsave(&fw->lock, flags);
- for_each_fw_domain_masked(domain, domains, fw, tmp) {
+ for_each_fw_domain_masked(domain, domains_mask, fw, tmp) {
if (!--domain->ref) {
sleep |= BIT(domain->id);
domain_sleep(gt, domain);
}
}
for_each_fw_domain_masked(domain, sleep, fw, tmp) {
- ret |= domain_sleep_wait(gt, domain);
+ if (domain_sleep_wait(gt, domain) == 0)
+ fw->awake_domains &= ~BIT(domain->id);
+ else
+ ret |= BIT(domain->id);
}
- fw->awake_domains &= ~sleep;
spin_unlock_irqrestore(&fw->lock, flags);
+ xe_gt_WARN(gt, ret, "domain%s %#x failed to acknowledgment sleep\n",
+ str_plural(hweight_long(ret)), ret);
return ret;
}
diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/xe/xe_force_wake.h
index 6c1ade39139b..731a9a5a29a4 100644
--- a/drivers/gpu/drm/xe/xe_force_wake.h
+++ b/drivers/gpu/drm/xe/xe_force_wake.h
@@ -18,7 +18,7 @@ void xe_force_wake_init_engines(struct xe_gt *gt,
unsigned int xe_force_wake_get(struct xe_force_wake *fw,
enum xe_force_wake_domains domains);
int xe_force_wake_put(struct xe_force_wake *fw,
- enum xe_force_wake_domains domains);
+ unsigned int domains_mask);
static inline int
xe_force_wake_ref(struct xe_force_wake *fw,
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* Re: [PATCH v5 02/23] drm/xe: Modify xe_force_wake_put to handle _get returned mask
2024-09-24 12:16 ` [PATCH v5 02/23] drm/xe: Modify xe_force_wake_put to handle _get returned mask Himal Prasad Ghimiray
@ 2024-09-25 10:27 ` Nilawar, Badal
2024-09-25 14:03 ` Michal Wajdeczko
1 sibling, 0 replies; 46+ messages in thread
From: Nilawar, Badal @ 2024-09-25 10:27 UTC (permalink / raw)
To: Himal Prasad Ghimiray, intel-xe
Cc: Michal Wajdeczko, Rodrigo Vivi, Lucas De Marchi, Nirmoy Das
On 24-09-2024 17:46, Himal Prasad Ghimiray wrote:
> Instead of calling xe_force_wake_put on all domains that were input to
> xe_force_wake_get, call _put only on the domains whose reference counts
> were successfully incremented by the _get call. Since the return value
> of _get can be a mask that does not match any specific value in the enum
> xe_force_wake_domains, change the input parameter of _put to xe_wakeref_t.
%s/xe_wakeref_t/unsigned int/
>
> v3
> - Move WARN to this patch (Badal)
> - use xe_gt_WARN instead of XE_WARN (Michal)
> - Stop using xe_force_wake_domains for non enum values.
> - Remove kernel-doc from this patch (Badal)
>
> -v5
> - Fix global awake_domain
>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> Cc: Badal Nilawar <badal.nilawar@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
> Cc: Nirmoy Das <nirmoy.das@intel.com>
> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
> ---
> drivers/gpu/drm/xe/xe_force_wake.c | 21 ++++++++++++++++-----
> drivers/gpu/drm/xe/xe_force_wake.h | 2 +-
> 2 files changed, 17 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/xe_force_wake.c
> index d190aa93be90..c805214bc348 100644
> --- a/drivers/gpu/drm/xe/xe_force_wake.c
> +++ b/drivers/gpu/drm/xe/xe_force_wake.c
> @@ -197,26 +197,37 @@ unsigned int xe_force_wake_get(struct xe_force_wake *fw,
> }
>
> int xe_force_wake_put(struct xe_force_wake *fw,
> - enum xe_force_wake_domains domains)
> + unsigned int domains_mask)
> {
> struct xe_gt *gt = fw->gt;
> struct xe_force_wake_domain *domain;
> - enum xe_force_wake_domains tmp, sleep = 0;
> + unsigned int tmp, sleep = 0;
> unsigned long flags;
> int ret = 0;
>
> + /*
> + * Avoid unnecessary lock and unlock when the function is called
> + * in error path of individual domains.
> + */
> + if (!domains_mask)
> + return 0;
> +
> spin_lock_irqsave(&fw->lock, flags);
> - for_each_fw_domain_masked(domain, domains, fw, tmp) {
> + for_each_fw_domain_masked(domain, domains_mask, fw, tmp) {
> if (!--domain->ref) {
> sleep |= BIT(domain->id);
> domain_sleep(gt, domain);
> }
> }
> for_each_fw_domain_masked(domain, sleep, fw, tmp) {
> - ret |= domain_sleep_wait(gt, domain);
> + if (domain_sleep_wait(gt, domain) == 0)
> + fw->awake_domains &= ~BIT(domain->id);
> + else
> + ret |= BIT(domain->id);
> }
> - fw->awake_domains &= ~sleep;
> spin_unlock_irqrestore(&fw->lock, flags);
>
> + xe_gt_WARN(gt, ret, "domain%s %#x failed to acknowledgment sleep\n",
> + str_plural(hweight_long(ret)), ret);
> return ret;
> }
> diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/xe/xe_force_wake.h
> index 6c1ade39139b..731a9a5a29a4 100644
> --- a/drivers/gpu/drm/xe/xe_force_wake.h
> +++ b/drivers/gpu/drm/xe/xe_force_wake.h
> @@ -18,7 +18,7 @@ void xe_force_wake_init_engines(struct xe_gt *gt,
> unsigned int xe_force_wake_get(struct xe_force_wake *fw,
> enum xe_force_wake_domains domains);
> int xe_force_wake_put(struct xe_force_wake *fw,
> - enum xe_force_wake_domains domains);
> + unsigned int domains_mask);
Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
Regards,
Badal
>
> static inline int
> xe_force_wake_ref(struct xe_force_wake *fw,
^ permalink raw reply [flat|nested] 46+ messages in thread* Re: [PATCH v5 02/23] drm/xe: Modify xe_force_wake_put to handle _get returned mask
2024-09-24 12:16 ` [PATCH v5 02/23] drm/xe: Modify xe_force_wake_put to handle _get returned mask Himal Prasad Ghimiray
2024-09-25 10:27 ` Nilawar, Badal
@ 2024-09-25 14:03 ` Michal Wajdeczko
2024-09-25 16:44 ` Ghimiray, Himal Prasad
1 sibling, 1 reply; 46+ messages in thread
From: Michal Wajdeczko @ 2024-09-25 14:03 UTC (permalink / raw)
To: Himal Prasad Ghimiray, intel-xe
Cc: Badal Nilawar, Rodrigo Vivi, Lucas De Marchi, Nirmoy Das
On 24.09.2024 14:16, Himal Prasad Ghimiray wrote:
> Instead of calling xe_force_wake_put on all domains that were input to
> xe_force_wake_get, call _put only on the domains whose reference counts
> were successfully incremented by the _get call. Since the return value
> of _get can be a mask that does not match any specific value in the enum
> xe_force_wake_domains, change the input parameter of _put to xe_wakeref_t.
>
> v3
> - Move WARN to this patch (Badal)
> - use xe_gt_WARN instead of XE_WARN (Michal)
> - Stop using xe_force_wake_domains for non enum values.
> - Remove kernel-doc from this patch (Badal)
>
> -v5
> - Fix global awake_domain
>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> Cc: Badal Nilawar <badal.nilawar@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
> Cc: Nirmoy Das <nirmoy.das@intel.com>
> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
> ---
> drivers/gpu/drm/xe/xe_force_wake.c | 21 ++++++++++++++++-----
> drivers/gpu/drm/xe/xe_force_wake.h | 2 +-
> 2 files changed, 17 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/xe_force_wake.c
> index d190aa93be90..c805214bc348 100644
> --- a/drivers/gpu/drm/xe/xe_force_wake.c
> +++ b/drivers/gpu/drm/xe/xe_force_wake.c
> @@ -197,26 +197,37 @@ unsigned int xe_force_wake_get(struct xe_force_wake *fw,
> }
>
> int xe_force_wake_put(struct xe_force_wake *fw,
> - enum xe_force_wake_domains domains)
> + unsigned int domains_mask)
it seems that in whole series you're using "fw_ref" as var name to hold
return value from the xe_force_wake_get() so maybe the same name should
be used here for the parameter instead "domain_mask" ?
> {
> struct xe_gt *gt = fw->gt;
> struct xe_force_wake_domain *domain;
> - enum xe_force_wake_domains tmp, sleep = 0;
> + unsigned int tmp, sleep = 0;
> unsigned long flags;
> int ret = 0;
in patch 23/23 (which personally I would squash into this one) you're
changing return type to void, so keeping the local var named "ret" is
questionable
>
> + /*
> + * Avoid unnecessary lock and unlock when the function is called
> + * in error path of individual domains.
> + */
> + if (!domains_mask)
> + return 0;
> +
> spin_lock_irqsave(&fw->lock, flags);
> - for_each_fw_domain_masked(domain, domains, fw, tmp) {
> + for_each_fw_domain_masked(domain, domains_mask, fw, tmp) {
> if (!--domain->ref) {
> sleep |= BIT(domain->id);
> domain_sleep(gt, domain);
> }
> }
> for_each_fw_domain_masked(domain, sleep, fw, tmp) {
> - ret |= domain_sleep_wait(gt, domain);
> + if (domain_sleep_wait(gt, domain) == 0)
> + fw->awake_domains &= ~BIT(domain->id);
> + else
> + ret |= BIT(domain->id);
> }
> - fw->awake_domains &= ~sleep;
> spin_unlock_irqrestore(&fw->lock, flags);
>
> + xe_gt_WARN(gt, ret, "domain%s %#x failed to acknowledgment sleep\n",
> + str_plural(hweight_long(ret)), ret);
> return ret;
> }
> diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/xe/xe_force_wake.h
> index 6c1ade39139b..731a9a5a29a4 100644
> --- a/drivers/gpu/drm/xe/xe_force_wake.h
> +++ b/drivers/gpu/drm/xe/xe_force_wake.h
> @@ -18,7 +18,7 @@ void xe_force_wake_init_engines(struct xe_gt *gt,
> unsigned int xe_force_wake_get(struct xe_force_wake *fw,
> enum xe_force_wake_domains domains);
> int xe_force_wake_put(struct xe_force_wake *fw,
> - enum xe_force_wake_domains domains);
> + unsigned int domains_mask);
>
> static inline int
> xe_force_wake_ref(struct xe_force_wake *fw,
^ permalink raw reply [flat|nested] 46+ messages in thread* Re: [PATCH v5 02/23] drm/xe: Modify xe_force_wake_put to handle _get returned mask
2024-09-25 14:03 ` Michal Wajdeczko
@ 2024-09-25 16:44 ` Ghimiray, Himal Prasad
0 siblings, 0 replies; 46+ messages in thread
From: Ghimiray, Himal Prasad @ 2024-09-25 16:44 UTC (permalink / raw)
To: Michal Wajdeczko, intel-xe
Cc: Badal Nilawar, Rodrigo Vivi, Lucas De Marchi, Nirmoy Das
On 25-09-2024 19:33, Michal Wajdeczko wrote:
>
>
> On 24.09.2024 14:16, Himal Prasad Ghimiray wrote:
>> Instead of calling xe_force_wake_put on all domains that were input to
>> xe_force_wake_get, call _put only on the domains whose reference counts
>> were successfully incremented by the _get call. Since the return value
>> of _get can be a mask that does not match any specific value in the enum
>> xe_force_wake_domains, change the input parameter of _put to xe_wakeref_t.
>>
>> v3
>> - Move WARN to this patch (Badal)
>> - use xe_gt_WARN instead of XE_WARN (Michal)
>> - Stop using xe_force_wake_domains for non enum values.
>> - Remove kernel-doc from this patch (Badal)
>>
>> -v5
>> - Fix global awake_domain
>>
>> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
>> Cc: Badal Nilawar <badal.nilawar@intel.com>
>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>> Cc: Nirmoy Das <nirmoy.das@intel.com>
>> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
>> ---
>> drivers/gpu/drm/xe/xe_force_wake.c | 21 ++++++++++++++++-----
>> drivers/gpu/drm/xe/xe_force_wake.h | 2 +-
>> 2 files changed, 17 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/xe_force_wake.c
>> index d190aa93be90..c805214bc348 100644
>> --- a/drivers/gpu/drm/xe/xe_force_wake.c
>> +++ b/drivers/gpu/drm/xe/xe_force_wake.c
>> @@ -197,26 +197,37 @@ unsigned int xe_force_wake_get(struct xe_force_wake *fw,
>> }
>>
>> int xe_force_wake_put(struct xe_force_wake *fw,
>> - enum xe_force_wake_domains domains)
>> + unsigned int domains_mask)
>
> it seems that in whole series you're using "fw_ref" as var name to hold
> return value from the xe_force_wake_get() so maybe the same name should
> be used here for the parameter instead "domain_mask" ?
Sure. Will update in next version.
>
>> {
>> struct xe_gt *gt = fw->gt;
>> struct xe_force_wake_domain *domain;
>> - enum xe_force_wake_domains tmp, sleep = 0;
>> + unsigned int tmp, sleep = 0;
>> unsigned long flags;
>> int ret = 0;
>
> in patch 23/23 (which personally I would squash into this one) you're
> changing return type to void, so keeping the local var named "ret" is
> questionable
Will change var name from ret to ack_fail.
>
>>
>> + /*
>> + * Avoid unnecessary lock and unlock when the function is called
>> + * in error path of individual domains.
>> + */
>> + if (!domains_mask)
>> + return 0;
>> +
>> spin_lock_irqsave(&fw->lock, flags);
>> - for_each_fw_domain_masked(domain, domains, fw, tmp) {
>> + for_each_fw_domain_masked(domain, domains_mask, fw, tmp) {
>> if (!--domain->ref) {
>> sleep |= BIT(domain->id);
>> domain_sleep(gt, domain);
>> }
>> }
>> for_each_fw_domain_masked(domain, sleep, fw, tmp) {
>> - ret |= domain_sleep_wait(gt, domain);
>> + if (domain_sleep_wait(gt, domain) == 0)
>> + fw->awake_domains &= ~BIT(domain->id);
>> + else
>> + ret |= BIT(domain->id);
>> }
>> - fw->awake_domains &= ~sleep;
>> spin_unlock_irqrestore(&fw->lock, flags);
>>
>> + xe_gt_WARN(gt, ret, "domain%s %#x failed to acknowledgment sleep\n",
>> + str_plural(hweight_long(ret)), ret);
>> return ret;
>> }
>> diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/xe/xe_force_wake.h
>> index 6c1ade39139b..731a9a5a29a4 100644
>> --- a/drivers/gpu/drm/xe/xe_force_wake.h
>> +++ b/drivers/gpu/drm/xe/xe_force_wake.h
>> @@ -18,7 +18,7 @@ void xe_force_wake_init_engines(struct xe_gt *gt,
>> unsigned int xe_force_wake_get(struct xe_force_wake *fw,
>> enum xe_force_wake_domains domains);
>> int xe_force_wake_put(struct xe_force_wake *fw,
>> - enum xe_force_wake_domains domains);
>> + unsigned int domains_mask);
>>
>> static inline int
>> xe_force_wake_ref(struct xe_force_wake *fw,
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* [PATCH v5 03/23] drm/xe/device: Update handling of xe_force_wake_get return
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 01/23] drm/xe: Error handling in xe_force_wake_get() Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 02/23] drm/xe: Modify xe_force_wake_put to handle _get returned mask Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 04/23] drm/xe/hdcp: " Himal Prasad Ghimiray
` (27 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe; +Cc: Himal Prasad Ghimiray, Badal Nilawar, Rodrigo Vivi
With xe_force_wake_get() now returning the refcount-incremented domain
mask, the return value will be 0 for single domains (excluding
XE_FORCEWAKE_ALL) in the event of a failure. Modify the return handling
of xe_force_wake_get() accordingly and pass the return value as input to
xe_force_wake_put().
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
- xe_force_wake_put() error doesn't need to be escalated/considered as
probing error. It internally WARNS on domain ack failure.
v5
- return unsigned int xe_force_wake_get()
Cc: Badal Nilawar <badal.nilawar@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_device.c | 25 ++++++++++++++-----------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
index cb5a9fd820cf..813762bfc7d5 100644
--- a/drivers/gpu/drm/xe/xe_device.c
+++ b/drivers/gpu/drm/xe/xe_device.c
@@ -598,8 +598,8 @@ int xe_device_probe_early(struct xe_device *xe)
static int probe_has_flat_ccs(struct xe_device *xe)
{
struct xe_gt *gt;
+ unsigned int fw_ref;
u32 reg;
- int err;
/* Always enabled/disabled, no runtime check to do */
if (GRAPHICS_VER(xe) < 20 || !xe->info.has_flat_ccs)
@@ -607,9 +607,9 @@ static int probe_has_flat_ccs(struct xe_device *xe)
gt = xe_root_mmio_gt(xe);
- err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
- if (err)
- return err;
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ if (!fw_ref)
+ return -ETIMEDOUT;
reg = xe_gt_mcr_unicast_read_any(gt, XE2_FLAT_CCS_BASE_RANGE_LOWER);
xe->info.has_flat_ccs = (reg & XE2_FLAT_CCS_ENABLE);
@@ -618,7 +618,8 @@ static int probe_has_flat_ccs(struct xe_device *xe)
drm_dbg(&xe->drm,
"Flat CCS has been disabled in bios, May lead to performance impact");
- return xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
+ return 0;
}
int xe_device_probe(struct xe_device *xe)
@@ -869,6 +870,7 @@ void xe_device_wmb(struct xe_device *xe)
void xe_device_td_flush(struct xe_device *xe)
{
struct xe_gt *gt;
+ unsigned int fw_ref;
u8 id;
if (!IS_DGFX(xe) || GRAPHICS_VER(xe) < 20)
@@ -883,7 +885,8 @@ void xe_device_td_flush(struct xe_device *xe)
if (xe_gt_is_media_type(gt))
continue;
- if (xe_force_wake_get(gt_to_fw(gt), XE_FW_GT))
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ if (!fw_ref)
return;
xe_mmio_write32(>->mmio, XE2_TDF_CTRL, TRANSIENT_FLUSH_REQUEST);
@@ -898,22 +901,22 @@ void xe_device_td_flush(struct xe_device *xe)
150, NULL, false))
xe_gt_err_once(gt, "TD flush timeout\n");
- xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
}
void xe_device_l2_flush(struct xe_device *xe)
{
struct xe_gt *gt;
- int err;
+ uint fw_ref;
gt = xe_root_mmio_gt(xe);
if (!XE_WA(gt, 16023588340))
return;
- err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
- if (err)
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ if (!fw_ref)
return;
spin_lock(>->global_invl_lock);
@@ -923,7 +926,7 @@ void xe_device_l2_flush(struct xe_device *xe)
xe_gt_err_once(gt, "Global invalidation timeout\n");
spin_unlock(>->global_invl_lock);
- xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
u32 xe_device_ccs_bytes(struct xe_device *xe, u64 size)
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 04/23] drm/xe/hdcp: Update handling of xe_force_wake_get return
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (2 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 03/23] drm/xe/device: Update handling of xe_force_wake_get return Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 05/23] drm/xe/gsc: " Himal Prasad Ghimiray
` (26 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe
Cc: Himal Prasad Ghimiray, Suraj Kandpal, Daniele Ceraolo Spurio,
Rodrigo Vivi, Lucas De Marchi
With xe_force_wake_get() now returning the refcount-incremented
domain mask, the return value will be 0 for single domains (excluding
XE_FORCEWAKE_ALL) in the event of a failure. Modify the return
handling of xe_force_wake_get() accordingly and pass the return value as
input to xe_force_wake_put().
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
v5
- return unsigned int for xe_force_wake_get()
Cc: Suraj Kandpal <suraj.kandpal@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com>(#rev2)
---
drivers/gpu/drm/xe/display/xe_hdcp_gsc.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c b/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
index 6619a40aed15..3567f474b6cb 100644
--- a/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
+++ b/drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
@@ -41,6 +41,7 @@ bool intel_hdcp_gsc_check_status(struct xe_device *xe)
struct xe_gt *gt = tile->media_gt;
struct xe_gsc *gsc = >->uc.gsc;
bool ret = true;
+ unsigned int fw_ref;
if (!gsc && !xe_uc_fw_is_enabled(&gsc->fw)) {
drm_dbg_kms(&xe->drm,
@@ -49,7 +50,8 @@ bool intel_hdcp_gsc_check_status(struct xe_device *xe)
}
xe_pm_runtime_get(xe);
- if (xe_force_wake_get(gt_to_fw(gt), XE_FW_GSC)) {
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GSC);
+ if (!fw_ref) {
drm_dbg_kms(&xe->drm,
"failed to get forcewake to check proxy status\n");
ret = false;
@@ -59,7 +61,7 @@ bool intel_hdcp_gsc_check_status(struct xe_device *xe)
if (!xe_gsc_proxy_init_done(gsc))
ret = false;
- xe_force_wake_put(gt_to_fw(gt), XE_FW_GSC);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
out:
xe_pm_runtime_put(xe);
return ret;
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 05/23] drm/xe/gsc: Update handling of xe_force_wake_get return
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (3 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 04/23] drm/xe/hdcp: " Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 06/23] drm/xe/gt: " Himal Prasad Ghimiray
` (25 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe
Cc: Himal Prasad Ghimiray, Daniele Ceraolo Spurio, Rodrigo Vivi,
Lucas De Marchi
With xe_force_wake_get() now returning the refcount-incremented domain
mask, a return value of 0 indicates failure for single domains
(excluding XE_FORCEWAKE_ALL).
A non-zero return value in the case of XE_FORCEWAKE_ALL does not
necessarily indicate success. Compare the return value with
XE_FORCEWAKE_ALL to determine the status of the call.
Modify the return handling of xe_force_wake_get() accordingly and pass
the return value to xe_force_wake_put().
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
v5
- return unsigned int for xe_force_wake_get()
- No need to WARN from caller in case of forcewake get failure.
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_gsc.c | 23 +++++++++++------------
drivers/gpu/drm/xe/xe_gsc_proxy.c | 9 ++++-----
2 files changed, 15 insertions(+), 17 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_gsc.c b/drivers/gpu/drm/xe/xe_gsc.c
index 9cb326af5931..7858233f9891 100644
--- a/drivers/gpu/drm/xe/xe_gsc.c
+++ b/drivers/gpu/drm/xe/xe_gsc.c
@@ -260,19 +260,17 @@ static int gsc_upload_and_init(struct xe_gsc *gsc)
{
struct xe_gt *gt = gsc_to_gt(gsc);
struct xe_tile *tile = gt_to_tile(gt);
+ unsigned int fw_ref;
int ret;
if (XE_WA(tile->primary_gt, 14018094691)) {
- ret = xe_force_wake_get(gt_to_fw(tile->primary_gt), XE_FORCEWAKE_ALL);
+ fw_ref = xe_force_wake_get(gt_to_fw(tile->primary_gt), XE_FORCEWAKE_ALL);
/*
* If the forcewake fails we want to keep going, because the worst
* case outcome in failing to apply the WA is that PXP won't work,
- * which is not fatal. We still throw a warning so the issue is
- * seen if it happens.
+ * which is not fatal. Forcewake get warns implicitly in case of failure
*/
- xe_gt_WARN_ON(tile->primary_gt, ret);
-
xe_gt_mcr_multicast_write(tile->primary_gt,
EU_SYSTOLIC_LIC_THROTTLE_CTL_WITH_LOCK,
EU_SYSTOLIC_LIC_THROTTLE_CTL_LOCK_BIT);
@@ -281,7 +279,7 @@ static int gsc_upload_and_init(struct xe_gsc *gsc)
ret = gsc_upload(gsc);
if (XE_WA(tile->primary_gt, 14018094691))
- xe_force_wake_put(gt_to_fw(tile->primary_gt), XE_FORCEWAKE_ALL);
+ xe_force_wake_put(gt_to_fw(tile->primary_gt), fw_ref);
if (ret)
return ret;
@@ -351,6 +349,7 @@ static void gsc_work(struct work_struct *work)
struct xe_gsc *gsc = container_of(work, typeof(*gsc), work);
struct xe_gt *gt = gsc_to_gt(gsc);
struct xe_device *xe = gt_to_xe(gt);
+ unsigned int fw_ref;
u32 actions;
int ret;
@@ -360,7 +359,7 @@ static void gsc_work(struct work_struct *work)
spin_unlock_irq(&gsc->lock);
xe_pm_runtime_get(xe);
- xe_gt_WARN_ON(gt, xe_force_wake_get(gt_to_fw(gt), XE_FW_GSC));
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GSC);
if (actions & GSC_ACTION_ER_COMPLETE) {
ret = gsc_er_complete(gt);
@@ -380,7 +379,7 @@ static void gsc_work(struct work_struct *work)
xe_gsc_proxy_request_handler(gsc);
out:
- xe_force_wake_put(gt_to_fw(gt), XE_FW_GSC);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
xe_pm_runtime_put(xe);
}
@@ -600,7 +599,7 @@ void xe_gsc_print_info(struct xe_gsc *gsc, struct drm_printer *p)
{
struct xe_gt *gt = gsc_to_gt(gsc);
struct xe_mmio *mmio = >->mmio;
- int err;
+ unsigned int fw_ref;
xe_uc_fw_print(&gsc->fw, p);
@@ -609,8 +608,8 @@ void xe_gsc_print_info(struct xe_gsc *gsc, struct drm_printer *p)
if (!xe_uc_fw_is_enabled(&gsc->fw))
return;
- err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GSC);
- if (err)
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GSC);
+ if (!fw_ref)
return;
drm_printf(p, "\nHECI1 FWSTS: 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x 0x%08x\n",
@@ -621,5 +620,5 @@ void xe_gsc_print_info(struct xe_gsc *gsc, struct drm_printer *p)
xe_mmio_read32(mmio, HECI_FWSTS5(MTL_GSC_HECI1_BASE)),
xe_mmio_read32(mmio, HECI_FWSTS6(MTL_GSC_HECI1_BASE)));
- xe_force_wake_put(gt_to_fw(gt), XE_FW_GSC);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
diff --git a/drivers/gpu/drm/xe/xe_gsc_proxy.c b/drivers/gpu/drm/xe/xe_gsc_proxy.c
index 6d89c22ae811..fc64b45d324b 100644
--- a/drivers/gpu/drm/xe/xe_gsc_proxy.c
+++ b/drivers/gpu/drm/xe/xe_gsc_proxy.c
@@ -450,22 +450,21 @@ void xe_gsc_proxy_remove(struct xe_gsc *gsc)
{
struct xe_gt *gt = gsc_to_gt(gsc);
struct xe_device *xe = gt_to_xe(gt);
- int err = 0;
+ unsigned int fw_ref = 0;
if (!gsc->proxy.component_added)
return;
/* disable HECI2 IRQs */
xe_pm_runtime_get(xe);
- err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GSC);
- if (err)
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GSC);
+ if (!fw_ref)
xe_gt_err(gt, "failed to get forcewake to disable GSC interrupts\n");
/* try do disable irq even if forcewake failed */
gsc_proxy_irq_toggle(gsc, false);
- if (!err)
- xe_force_wake_put(gt_to_fw(gt), XE_FW_GSC);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
xe_pm_runtime_put(xe);
xe_gsc_wait_for_worker_completion(gsc);
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 06/23] drm/xe/gt: Update handling of xe_force_wake_get return
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (4 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 05/23] drm/xe/gsc: " Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 07/23] drm/xe/xe_gt_idle: " Himal Prasad Ghimiray
` (24 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe
Cc: Himal Prasad Ghimiray, Matthew Brost, Rodrigo Vivi,
Lucas De Marchi
With xe_force_wake_get() now returning the refcount-incremented domain
mask, a return value of 0 indicates failure for single domains
(excluding XE_FORCEWAKE_ALL).
A non-zero return value in the case of XE_FORCEWAKE_ALL does not
necessarily indicate success. Compare the return value with
XE_FORCEWAKE_ALL to determine the status of the call.
Modify the return handling of xe_force_wake_get() accordingly and pass
the return value to xe_force_wake_put().
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
- xe_force_wake_put() error doesn't need to be checked. It internally
WARNS on domain ack failure.
v4
- Rebase fix
v5
- return unsigned int for xe_force_wake_get()
- remove redundant XE_WARN_ON()
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_gt.c | 105 ++++++++++++++++++++-----------------
1 file changed, 58 insertions(+), 47 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c
index 274737417b0f..f1e84b76f778 100644
--- a/drivers/gpu/drm/xe/xe_gt.c
+++ b/drivers/gpu/drm/xe/xe_gt.c
@@ -99,14 +99,14 @@ void xe_gt_sanitize(struct xe_gt *gt)
static void xe_gt_enable_host_l2_vram(struct xe_gt *gt)
{
+ unsigned int fw_ref;
u32 reg;
- int err;
if (!XE_WA(gt, 16023588340))
return;
- err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
- if (WARN_ON(err))
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ if (!fw_ref)
return;
if (!xe_gt_is_media_type(gt)) {
@@ -117,13 +117,13 @@ static void xe_gt_enable_host_l2_vram(struct xe_gt *gt)
}
xe_gt_mcr_multicast_write(gt, XEHPC_L3CLOS_MASK(3), 0x3);
- xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
static void xe_gt_disable_host_l2_vram(struct xe_gt *gt)
{
+ unsigned int fw_ref;
u32 reg;
- int err;
if (!XE_WA(gt, 16023588340))
return;
@@ -131,15 +131,15 @@ static void xe_gt_disable_host_l2_vram(struct xe_gt *gt)
if (xe_gt_is_media_type(gt))
return;
- err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
- if (WARN_ON(err))
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ if (WARN_ON(!fw_ref))
return;
reg = xe_gt_mcr_unicast_read_any(gt, XE2_GAMREQSTRM_CTRL);
reg &= ~CG_DIS_CNTLBUS;
xe_gt_mcr_multicast_write(gt, XE2_GAMREQSTRM_CTRL, reg);
- xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
/**
@@ -405,11 +405,14 @@ static void dump_pat_on_error(struct xe_gt *gt)
static int gt_fw_domain_init(struct xe_gt *gt)
{
+ unsigned int fw_ref;
int err, i;
- err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
- if (err)
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ if (!fw_ref) {
+ err = -ETIMEDOUT;
goto err_hw_fence_irq;
+ }
if (!xe_gt_is_media_type(gt)) {
err = xe_ggtt_init(gt_to_tile(gt)->mem.ggtt);
@@ -444,14 +447,12 @@ static int gt_fw_domain_init(struct xe_gt *gt)
*/
gt->info.gmdid = xe_mmio_read32(>->mmio, GMD_ID);
- err = xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
- XE_WARN_ON(err);
-
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
return 0;
err_force_wake:
dump_pat_on_error(gt);
- xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
err_hw_fence_irq:
for (i = 0; i < XE_ENGINE_CLASS_MAX; ++i)
xe_hw_fence_irq_finish(>->fence_irq[i]);
@@ -461,11 +462,14 @@ static int gt_fw_domain_init(struct xe_gt *gt)
static int all_fw_domain_init(struct xe_gt *gt)
{
+ unsigned int fw_ref;
int err, i;
- err = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
- if (err)
- goto err_hw_fence_irq;
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ if (fw_ref != XE_FORCEWAKE_ALL) {
+ err = -ETIMEDOUT;
+ goto err_force_wake;
+ }
xe_gt_mcr_set_implicit_defaults(gt);
xe_reg_sr_apply_mmio(>->reg_sr, gt);
@@ -529,14 +533,12 @@ static int all_fw_domain_init(struct xe_gt *gt)
if (IS_SRIOV_PF(gt_to_xe(gt)))
xe_gt_sriov_pf_init_hw(gt);
- err = xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL);
- XE_WARN_ON(err);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
return 0;
err_force_wake:
- xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL);
-err_hw_fence_irq:
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
for (i = 0; i < XE_ENGINE_CLASS_MAX; ++i)
xe_hw_fence_irq_finish(>->fence_irq[i]);
@@ -549,11 +551,12 @@ static int all_fw_domain_init(struct xe_gt *gt)
*/
int xe_gt_init_hwconfig(struct xe_gt *gt)
{
+ unsigned int fw_ref;
int err;
- err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
- if (err)
- goto out;
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ if (!fw_ref)
+ return -ETIMEDOUT;
xe_gt_mcr_init_early(gt);
xe_pat_init(gt);
@@ -571,8 +574,7 @@ int xe_gt_init_hwconfig(struct xe_gt *gt)
xe_gt_enable_host_l2_vram(gt);
out_fw:
- xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
-out:
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
return err;
}
@@ -767,6 +769,7 @@ static int do_gt_restart(struct xe_gt *gt)
static int gt_reset(struct xe_gt *gt)
{
+ unsigned int fw_ref;
int err;
if (xe_device_wedged(gt_to_xe(gt)))
@@ -787,9 +790,11 @@ static int gt_reset(struct xe_gt *gt)
xe_gt_sanitize(gt);
- err = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
- if (err)
- goto err_msg;
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ if (fw_ref != XE_FORCEWAKE_ALL) {
+ err = -ETIMEDOUT;
+ goto err_out;
+ }
xe_uc_gucrc_disable(>->uc);
xe_uc_stop_prepare(>->uc);
@@ -807,8 +812,7 @@ static int gt_reset(struct xe_gt *gt)
if (err)
goto err_out;
- err = xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL);
- XE_WARN_ON(err);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
xe_pm_runtime_put(gt_to_xe(gt));
xe_gt_info(gt, "reset done\n");
@@ -816,8 +820,7 @@ static int gt_reset(struct xe_gt *gt)
return 0;
err_out:
- XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL));
-err_msg:
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
XE_WARN_ON(xe_uc_start(>->uc));
err_fail:
xe_gt_err(gt, "reset failed (%pe)\n", ERR_PTR(err));
@@ -849,22 +852,25 @@ void xe_gt_reset_async(struct xe_gt *gt)
void xe_gt_suspend_prepare(struct xe_gt *gt)
{
- XE_WARN_ON(xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL));
+ unsigned int fw_ref;
+
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
xe_uc_stop_prepare(>->uc);
- XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL));
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
int xe_gt_suspend(struct xe_gt *gt)
{
+ unsigned int fw_ref;
int err;
xe_gt_dbg(gt, "suspending\n");
xe_gt_sanitize(gt);
- err = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
- if (err)
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ if (fw_ref != XE_FORCEWAKE_ALL)
goto err_msg;
err = xe_uc_suspend(>->uc);
@@ -875,14 +881,15 @@ int xe_gt_suspend(struct xe_gt *gt)
xe_gt_disable_host_l2_vram(gt);
- XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL));
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
xe_gt_dbg(gt, "suspended\n");
return 0;
-err_force_wake:
- XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL));
err_msg:
+ err = -ETIMEDOUT;
+err_force_wake:
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
xe_gt_err(gt, "suspend failed (%pe)\n", ERR_PTR(err));
return err;
@@ -890,9 +897,11 @@ int xe_gt_suspend(struct xe_gt *gt)
void xe_gt_shutdown(struct xe_gt *gt)
{
- xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ unsigned int fw_ref;
+
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
do_gt_reset(gt);
- xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
/**
@@ -915,11 +924,12 @@ int xe_gt_sanitize_freq(struct xe_gt *gt)
int xe_gt_resume(struct xe_gt *gt)
{
+ unsigned int fw_ref;
int err;
xe_gt_dbg(gt, "resuming\n");
- err = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
- if (err)
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ if (fw_ref != XE_FORCEWAKE_ALL)
goto err_msg;
err = do_gt_restart(gt);
@@ -928,14 +938,15 @@ int xe_gt_resume(struct xe_gt *gt)
xe_gt_idle_enable_pg(gt);
- XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL));
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
xe_gt_dbg(gt, "resumed\n");
return 0;
-err_force_wake:
- XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL));
err_msg:
+ err = -ETIMEDOUT;
+err_force_wake:
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
xe_gt_err(gt, "resume failed (%pe)\n", ERR_PTR(err));
return err;
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 07/23] drm/xe/xe_gt_idle: Update handling of xe_force_wake_get return
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (5 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 06/23] drm/xe/gt: " Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 08/23] drm/xe/devcoredump: " Himal Prasad Ghimiray
` (23 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe; +Cc: Himal Prasad Ghimiray, Rodrigo Vivi, Lucas De Marchi
With xe_force_wake_get() now returning the refcount-incremented domain
mask, a return value of 0 indicates failure for single domains
(excluding XE_FORCEWAKE_ALL).
Modify the return handling of xe_force_wake_get() accordingly and pass
the return value to xe_force_wake_put().
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
- xe_force_wake_put() error doesn't need to be checked. It internally
WARNS on domain ack failure.
v4
- Rebase fix
v5
- return unsigned int for xe_force_wake_get()
- Remove reudandant WARN calls.
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_gt_idle.c | 26 +++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_gt_idle.c b/drivers/gpu/drm/xe/xe_gt_idle.c
index 531924b6c0a1..125db68d9e67 100644
--- a/drivers/gpu/drm/xe/xe_gt_idle.c
+++ b/drivers/gpu/drm/xe/xe_gt_idle.c
@@ -106,6 +106,7 @@ void xe_gt_idle_enable_pg(struct xe_gt *gt)
struct xe_gt_idle *gtidle = >->gtidle;
struct xe_mmio *mmio = >->mmio;
u32 vcs_mask, vecs_mask;
+ unsigned int fw_ref;
int i, j;
if (IS_SRIOV_VF(xe))
@@ -132,7 +133,7 @@ void xe_gt_idle_enable_pg(struct xe_gt *gt)
VDN_MFXVDENC_POWERGATE_ENABLE(j));
}
- XE_WARN_ON(xe_force_wake_get(gt_to_fw(gt), XE_FW_GT));
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
if (xe->info.skip_guc_pc) {
/*
* GuC sets the hysteresis value when GuC PC is enabled
@@ -143,12 +144,13 @@ void xe_gt_idle_enable_pg(struct xe_gt *gt)
}
xe_mmio_write32(mmio, POWERGATE_ENABLE, gtidle->powergate_enable);
- XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FW_GT));
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
void xe_gt_idle_disable_pg(struct xe_gt *gt)
{
struct xe_gt_idle *gtidle = >->gtidle;
+ unsigned int fw_ref;
if (IS_SRIOV_VF(gt_to_xe(gt)))
return;
@@ -156,9 +158,9 @@ void xe_gt_idle_disable_pg(struct xe_gt *gt)
xe_device_assert_mem_access(gt_to_xe(gt));
gtidle->powergate_enable = 0;
- XE_WARN_ON(xe_force_wake_get(gt_to_fw(gt), XE_FW_GT));
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
xe_mmio_write32(>->mmio, POWERGATE_ENABLE, gtidle->powergate_enable);
- XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FW_GT));
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
/**
@@ -177,7 +179,8 @@ int xe_gt_idle_pg_print(struct xe_gt *gt, struct drm_printer *p)
enum xe_gt_idle_state state;
u32 pg_enabled, pg_status = 0;
u32 vcs_mask, vecs_mask;
- int err, n;
+ unsigned int fw_ref;
+ int n;
/*
* Media Slices
*
@@ -213,14 +216,14 @@ int xe_gt_idle_pg_print(struct xe_gt *gt, struct drm_printer *p)
/* Do not wake the GT to read powergating status */
if (state != GT_IDLE_C6) {
- err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
- if (err)
- return err;
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ if (!fw_ref)
+ return -ETIMEDOUT;
pg_enabled = xe_mmio_read32(>->mmio, POWERGATE_ENABLE);
pg_status = xe_mmio_read32(>->mmio, POWERGATE_DOMAIN_STATUS);
- XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FW_GT));
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
if (gt->info.engine_mask & XE_HW_ENGINE_RCS_MASK) {
@@ -303,13 +306,14 @@ static void gt_idle_fini(void *arg)
{
struct kobject *kobj = arg;
struct xe_gt *gt = kobj_to_gt(kobj->parent);
+ unsigned int fw_ref;
xe_gt_idle_disable_pg(gt);
if (gt_to_xe(gt)->info.skip_guc_pc) {
- XE_WARN_ON(xe_force_wake_get(gt_to_fw(gt), XE_FW_GT));
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
xe_gt_idle_disable_c6(gt);
- xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
sysfs_remove_files(kobj, gt_idle_attrs);
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 08/23] drm/xe/devcoredump: Update handling of xe_force_wake_get return
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (6 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 07/23] drm/xe/xe_gt_idle: " Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 09/23] drm/xe/tests/mocs: Update xe_force_wake_get() return handling Himal Prasad Ghimiray
` (22 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe; +Cc: Himal Prasad Ghimiray, Rodrigo Vivi, Lucas De Marchi
With xe_force_wake_get() now returning the refcount-incremented domain
mask, a non-zero return value in the case of XE_FORCEWAKE_ALL does not
necessarily indicate success. Compare the return value with
XE_FORCEWAKE_ALL to determine the status of the call.
Modify the return handling of xe_force_wake_get() accordingly and pass
the return value to xe_force_wake_put().
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
v5
- return unsigned int for xe_force_wake_get()
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_devcoredump.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_devcoredump.c b/drivers/gpu/drm/xe/xe_devcoredump.c
index bdb76e834e4c..25ccf95e6ccb 100644
--- a/drivers/gpu/drm/xe/xe_devcoredump.c
+++ b/drivers/gpu/drm/xe/xe_devcoredump.c
@@ -141,13 +141,15 @@ static void xe_devcoredump_deferred_snap_work(struct work_struct *work)
{
struct xe_devcoredump_snapshot *ss = container_of(work, typeof(*ss), work);
struct xe_devcoredump *coredump = container_of(ss, typeof(*coredump), snapshot);
+ unsigned int fw_ref;
/* keep going if fw fails as we still want to save the memory and SW data */
- if (xe_force_wake_get(gt_to_fw(ss->gt), XE_FORCEWAKE_ALL))
+ fw_ref = xe_force_wake_get(gt_to_fw(ss->gt), XE_FORCEWAKE_ALL);
+ if (fw_ref != XE_FORCEWAKE_ALL)
xe_gt_info(ss->gt, "failed to get forcewake for coredump capture\n");
xe_vm_snapshot_capture_delayed(ss->vm);
xe_guc_exec_queue_snapshot_capture_delayed(ss->ge);
- xe_force_wake_put(gt_to_fw(ss->gt), XE_FORCEWAKE_ALL);
+ xe_force_wake_put(gt_to_fw(ss->gt), fw_ref);
/* Calculate devcoredump size */
ss->read.size = __xe_devcoredump_read(NULL, INT_MAX, coredump);
@@ -220,8 +222,9 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
u32 width_mask = (0x1 << q->width) - 1;
const char *process_name = "no process";
- int i;
+ unsigned int fw_ref;
bool cookie;
+ int i;
ss->snapshot_time = ktime_get_real();
ss->boot_time = ktime_get_boottime();
@@ -244,7 +247,8 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
}
/* keep going if fw fails as we still want to save the memory and SW data */
- if (xe_force_wake_get(gt_to_fw(q->gt), XE_FORCEWAKE_ALL))
+ fw_ref = xe_force_wake_get(gt_to_fw(q->gt), XE_FORCEWAKE_ALL);
+ if (fw_ref != XE_FORCEWAKE_ALL)
xe_gt_info(ss->gt, "failed to get forcewake for coredump capture\n");
coredump->snapshot.ct = xe_guc_ct_snapshot_capture(&guc->ct, true);
@@ -263,7 +267,7 @@ static void devcoredump_snapshot(struct xe_devcoredump *coredump,
queue_work(system_unbound_wq, &ss->work);
- xe_force_wake_put(gt_to_fw(q->gt), XE_FORCEWAKE_ALL);
+ xe_force_wake_put(gt_to_fw(q->gt), fw_ref);
dma_fence_end_signalling(cookie);
}
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 09/23] drm/xe/tests/mocs: Update xe_force_wake_get() return handling
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (7 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 08/23] drm/xe/devcoredump: " Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 10/23] drm/xe/mocs: Update handling of xe_force_wake_get return Himal Prasad Ghimiray
` (21 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe; +Cc: Himal Prasad Ghimiray, Rodrigo Vivi, Lucas De Marchi
With xe_force_wake_get() now returning the refcount-incremented domain
mask, a return value of 0 indicates failure for single domains.
Change assert condition to incorporate this change in return and
pass the return value to xe_force_wake_put()
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
v5
- return unsigned int for xe_force_wake_get()
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/tests/xe_mocs.c | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/xe/tests/xe_mocs.c b/drivers/gpu/drm/xe/tests/xe_mocs.c
index ea932c051cc7..6f9b7a266b41 100644
--- a/drivers/gpu/drm/xe/tests/xe_mocs.c
+++ b/drivers/gpu/drm/xe/tests/xe_mocs.c
@@ -43,12 +43,11 @@ static void read_l3cc_table(struct xe_gt *gt,
{
struct kunit *test = kunit_get_current_test();
u32 l3cc, l3cc_expected;
- unsigned int i;
+ unsigned int fw_ref, i;
u32 reg_val;
- u32 ret;
- ret = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
- KUNIT_ASSERT_EQ_MSG(test, ret, 0, "Forcewake Failed.\n");
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ KUNIT_ASSERT_NE_MSG(test, fw_ref, 0, "Forcewake Failed.\n");
for (i = 0; i < info->num_mocs_regs; i++) {
if (!(i & 1)) {
@@ -72,7 +71,7 @@ static void read_l3cc_table(struct xe_gt *gt,
KUNIT_EXPECT_EQ_MSG(test, l3cc_expected, l3cc,
"l3cc idx=%u has incorrect val.\n", i);
}
- xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
static void read_mocs_table(struct xe_gt *gt,
@@ -80,15 +79,14 @@ static void read_mocs_table(struct xe_gt *gt,
{
struct kunit *test = kunit_get_current_test();
u32 mocs, mocs_expected;
- unsigned int i;
+ unsigned int fw_ref, i;
u32 reg_val;
- u32 ret;
KUNIT_EXPECT_TRUE_MSG(test, info->unused_entries_index,
"Unused entries index should have been defined\n");
- ret = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
- KUNIT_ASSERT_EQ_MSG(test, ret, 0, "Forcewake Failed.\n");
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ KUNIT_ASSERT_NE_MSG(test, fw_ref, 0, "Forcewake Failed.\n");
for (i = 0; i < info->num_mocs_regs; i++) {
if (regs_are_mcr(gt))
@@ -106,7 +104,7 @@ static void read_mocs_table(struct xe_gt *gt,
"mocs reg 0x%x has incorrect val.\n", i);
}
- xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
static int mocs_kernel_test_run_device(struct xe_device *xe)
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 10/23] drm/xe/mocs: Update handling of xe_force_wake_get return
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (8 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 09/23] drm/xe/tests/mocs: Update xe_force_wake_get() return handling Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 11/23] drm/xe/xe_drm_client: " Himal Prasad Ghimiray
` (20 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe
Cc: Himal Prasad Ghimiray, Michal Wajdeczko, Rodrigo Vivi,
Lucas De Marchi
With xe_force_wake_get() now returning the refcount-incremented domain
mask, a return value of 0 indicates failure for single domains
(excluding XE_FORCEWAKE_ALL).
Modify the return handling of xe_force_wake_get() accordingly and pass
the return value to xe_force_wake_put().
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
- don't use xe_assert() to report HW errors (Michal)
v5
- return unsigned int from xe_force_wake_get()
- Remove redundant warn
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_mocs.c | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_mocs.c b/drivers/gpu/drm/xe/xe_mocs.c
index 8df41cd12d51..9b673d7bf4b9 100644
--- a/drivers/gpu/drm/xe/xe_mocs.c
+++ b/drivers/gpu/drm/xe/xe_mocs.c
@@ -773,25 +773,21 @@ void xe_mocs_init(struct xe_gt *gt)
void xe_mocs_dump(struct xe_gt *gt, struct drm_printer *p)
{
- struct xe_mocs_info table;
- unsigned int flags;
- u32 ret;
struct xe_device *xe = gt_to_xe(gt);
+ struct xe_mocs_info table;
+ unsigned int fw_ref, flags;
flags = get_mocs_settings(xe, &table);
xe_pm_runtime_get_noresume(xe);
- ret = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
-
- if (ret)
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ if (!fw_ref)
goto err_fw;
table.ops->dump(&table, flags, gt, p);
- xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
-
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
err_fw:
- xe_assert(xe, !ret);
xe_pm_runtime_put(xe);
}
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 11/23] drm/xe/xe_drm_client: Update handling of xe_force_wake_get return
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (9 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 10/23] drm/xe/mocs: Update handling of xe_force_wake_get return Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 12/23] drm/xe/xe_gt_debugfs: " Himal Prasad Ghimiray
` (19 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe; +Cc: Himal Prasad Ghimiray, Rodrigo Vivi, Lucas De Marchi
Since xe_force_wake_get() now returns a domain mask with an incremented
reference count, a return value of 0 indicates a failure, while a
non-zero return value that matches the input domain parameter signifies
success.
Update the return handling of xe_force_wake_get() to reflect this, and
ensure that the return value is passed to xe_force_wake_put().
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
- xe_force_wake_put() error doesn't need to be checked. It internally
WARNS on domain ack failure.
v5
- return unsigned int from xe_force_wake_get()
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_drm_client.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_drm_client.c b/drivers/gpu/drm/xe/xe_drm_client.c
index c4add8b38bbd..5119213c005b 100644
--- a/drivers/gpu/drm/xe/xe_drm_client.c
+++ b/drivers/gpu/drm/xe/xe_drm_client.c
@@ -278,6 +278,7 @@ static void show_run_ticks(struct drm_printer *p, struct drm_file *file)
struct xe_hw_engine *hwe;
struct xe_exec_queue *q;
u64 gpu_timestamp;
+ unsigned int fw_ref;
xe_pm_runtime_get(xe);
@@ -296,13 +297,16 @@ static void show_run_ticks(struct drm_printer *p, struct drm_file *file)
continue;
fw = xe_hw_engine_to_fw_domain(hwe);
- if (xe_force_wake_get(gt_to_fw(gt), fw)) {
+
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), fw);
+ if (fw_ref != fw) {
hwe = NULL;
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
break;
}
gpu_timestamp = xe_hw_engine_read_timestamp(hwe);
- XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), fw));
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
break;
}
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 12/23] drm/xe/xe_gt_debugfs: Update handling of xe_force_wake_get return
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (10 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 11/23] drm/xe/xe_drm_client: " Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 13/23] drm/xe/guc: " Himal Prasad Ghimiray
` (18 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe; +Cc: Himal Prasad Ghimiray, Rodrigo Vivi, Lucas De Marchi
With xe_force_wake_get() now returning the refcount-incremented
domain mask, a non-zero return value in the case of XE_FORCEWAKE_ALL does
not necessarily indicate success. Compare the return value with
XE_FORCEWAKE_ALL to determine the status of the call.
Modify the return handling of xe_force_wake_get() accordingly and
pass the return value to xe_force_wake_put().
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
- xe_force_wake_put() error doesn't need to be checked. It internally
WARNS on domain ack failure.
v5
- return unsigned int for xe_force_wake_get()
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_gt_debugfs.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_gt_debugfs.c b/drivers/gpu/drm/xe/xe_gt_debugfs.c
index cbc43973ff7e..5794856efec3 100644
--- a/drivers/gpu/drm/xe/xe_gt_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_gt_debugfs.c
@@ -90,22 +90,21 @@ static int hw_engines(struct xe_gt *gt, struct drm_printer *p)
struct xe_device *xe = gt_to_xe(gt);
struct xe_hw_engine *hwe;
enum xe_hw_engine_id id;
- int err;
+ unsigned int fw_ref;
xe_pm_runtime_get(xe);
- err = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
- if (err) {
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ if (fw_ref != XE_FORCEWAKE_ALL) {
xe_pm_runtime_put(xe);
- return err;
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
+ return -ETIMEDOUT;
}
for_each_hw_engine(hwe, gt, id)
xe_hw_engine_print(hwe, p);
- err = xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
xe_pm_runtime_put(xe);
- if (err)
- return err;
return 0;
}
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 13/23] drm/xe/guc: Update handling of xe_force_wake_get return
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (11 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 12/23] drm/xe/xe_gt_debugfs: " Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 14/23] drm/xe/huc: " Himal Prasad Ghimiray
` (17 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe
Cc: Himal Prasad Ghimiray, Matthew Brost, Rodrigo Vivi,
Lucas De Marchi
With xe_force_wake_get() now returning the refcount-incremented domain
mask, a return value of 0 indicates failure for single domains
(excluding XE_FORCEWAKE_ALL).
A non-zero return value in the case of XE_FORCEWAKE_ALL does not
necessarily indicate success. Compare the return value with
XE_FORCEWAKE_ALL to determine the status of the call.
Modify the return handling of xe_force_wake_get() accordingly and pass
the return value to xe_force_wake_put().
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
- xe_force_wake_put() error doesn't need to be checked. It internally
WARNS on domain ack failure.
v5
- return unsigned int from xe_force_wake_get()
- Remove redundant xe_gt_WARN_ON
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_guc.c | 13 +++++----
drivers/gpu/drm/xe/xe_guc_pc.c | 50 +++++++++++++++++++++-------------
2 files changed, 38 insertions(+), 25 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
index b6cd5e941f19..e5061aade3de 100644
--- a/drivers/gpu/drm/xe/xe_guc.c
+++ b/drivers/gpu/drm/xe/xe_guc.c
@@ -246,10 +246,11 @@ static void guc_fini_hw(void *arg)
{
struct xe_guc *guc = arg;
struct xe_gt *gt = guc_to_gt(guc);
+ unsigned int fw_ref;
- xe_gt_WARN_ON(gt, xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL));
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
xe_uc_fini_hw(&guc_to_gt(guc)->uc);
- xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
/**
@@ -1149,14 +1150,14 @@ int xe_guc_start(struct xe_guc *guc)
void xe_guc_print_info(struct xe_guc *guc, struct drm_printer *p)
{
struct xe_gt *gt = guc_to_gt(guc);
+ unsigned int fw_ref;
u32 status;
- int err;
int i;
xe_uc_fw_print(&guc->fw, p);
- err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
- if (err)
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ if (!fw_ref)
return;
status = xe_mmio_read32(>->mmio, GUC_STATUS);
@@ -1177,7 +1178,7 @@ void xe_guc_print_info(struct xe_guc *guc, struct drm_printer *p)
i, xe_mmio_read32(>->mmio, SOFT_SCRATCH(i)));
}
- xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
xe_guc_ct_print(&guc->ct, p, false);
xe_guc_submit_print(guc, p);
diff --git a/drivers/gpu/drm/xe/xe_guc_pc.c b/drivers/gpu/drm/xe/xe_guc_pc.c
index 2b654f820ae2..3605f0c3f8fc 100644
--- a/drivers/gpu/drm/xe/xe_guc_pc.c
+++ b/drivers/gpu/drm/xe/xe_guc_pc.c
@@ -415,22 +415,24 @@ u32 xe_guc_pc_get_act_freq(struct xe_guc_pc *pc)
int xe_guc_pc_get_cur_freq(struct xe_guc_pc *pc, u32 *freq)
{
struct xe_gt *gt = pc_to_gt(pc);
- int ret;
+ unsigned int fw_ref;
/*
* GuC SLPC plays with cur freq request when GuCRC is enabled
* Block RC6 for a more reliable read.
*/
- ret = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
- if (ret)
- return ret;
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ if (fw_ref != XE_FORCEWAKE_ALL) {
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
+ return -ETIMEDOUT;
+ }
*freq = xe_mmio_read32(>->mmio, RPNSWREQ);
*freq = REG_FIELD_GET(REQ_RATIO_MASK, *freq);
*freq = decode_freq(*freq);
- XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL));
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
return 0;
}
@@ -480,6 +482,7 @@ u32 xe_guc_pc_get_rpn_freq(struct xe_guc_pc *pc)
int xe_guc_pc_get_min_freq(struct xe_guc_pc *pc, u32 *freq)
{
struct xe_gt *gt = pc_to_gt(pc);
+ unsigned int fw_ref;
int ret;
mutex_lock(&pc->freq_lock);
@@ -493,9 +496,11 @@ int xe_guc_pc_get_min_freq(struct xe_guc_pc *pc, u32 *freq)
* GuC SLPC plays with min freq request when GuCRC is enabled
* Block RC6 for a more reliable read.
*/
- ret = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
- if (ret)
- goto out;
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ if (fw_ref != XE_FORCEWAKE_ALL) {
+ ret = -ETIMEDOUT;
+ goto fw;
+ }
ret = pc_action_query_task_state(pc);
if (ret)
@@ -504,7 +509,7 @@ int xe_guc_pc_get_min_freq(struct xe_guc_pc *pc, u32 *freq)
*freq = pc_get_min_freq(pc);
fw:
- XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL));
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
out:
mutex_unlock(&pc->freq_lock);
return ret;
@@ -855,6 +860,7 @@ int xe_guc_pc_gucrc_disable(struct xe_guc_pc *pc)
{
struct xe_device *xe = pc_to_xe(pc);
struct xe_gt *gt = pc_to_gt(pc);
+ unsigned int fw_ref;
int ret = 0;
if (xe->info.skip_guc_pc)
@@ -864,13 +870,15 @@ int xe_guc_pc_gucrc_disable(struct xe_guc_pc *pc)
if (ret)
return ret;
- ret = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
- if (ret)
- return ret;
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ if (fw_ref != XE_FORCEWAKE_ALL) {
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
+ return -ETIMEDOUT;
+ }
xe_gt_idle_disable_c6(gt);
- XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL));
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
return 0;
}
@@ -956,13 +964,16 @@ int xe_guc_pc_start(struct xe_guc_pc *pc)
struct xe_device *xe = pc_to_xe(pc);
struct xe_gt *gt = pc_to_gt(pc);
u32 size = PAGE_ALIGN(sizeof(struct slpc_shared_data));
+ unsigned int fw_ref;
int ret;
xe_gt_assert(gt, xe_device_uc_enabled(xe));
- ret = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
- if (ret)
- return ret;
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ if (fw_ref != XE_FORCEWAKE_ALL) {
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
+ return -ETIMEDOUT;
+ }
if (xe->info.skip_guc_pc) {
if (xe->info.platform != XE_PVC)
@@ -1005,7 +1016,7 @@ int xe_guc_pc_start(struct xe_guc_pc *pc)
ret = pc_action_setup_gucrc(pc, GUCRC_FIRMWARE_CONTROL);
out:
- XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL));
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
return ret;
}
@@ -1037,18 +1048,19 @@ static void xe_guc_pc_fini_hw(void *arg)
{
struct xe_guc_pc *pc = arg;
struct xe_device *xe = pc_to_xe(pc);
+ unsigned int fw_ref;
if (xe_device_wedged(xe))
return;
- XE_WARN_ON(xe_force_wake_get(gt_to_fw(pc_to_gt(pc)), XE_FORCEWAKE_ALL));
+ fw_ref = xe_force_wake_get(gt_to_fw(pc_to_gt(pc)), XE_FORCEWAKE_ALL);
xe_guc_pc_gucrc_disable(pc);
XE_WARN_ON(xe_guc_pc_stop(pc));
/* Bind requested freq to mert_freq_cap before unload */
pc_set_cur_freq(pc, min(pc_max_freq_cap(pc), pc->rpe_freq));
- xe_force_wake_put(gt_to_fw(pc_to_gt(pc)), XE_FORCEWAKE_ALL);
+ xe_force_wake_put(gt_to_fw(pc_to_gt(pc)), fw_ref);
}
/**
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 14/23] drm/xe/huc: Update handling of xe_force_wake_get return
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (12 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 13/23] drm/xe/guc: " Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 15/23] drm/xe/oa: Handle force_wake_get failure in xe_oa_stream_init() Himal Prasad Ghimiray
` (16 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe
Cc: Himal Prasad Ghimiray, Daniele Ceraolo Spurio, Rodrigo Vivi,
Lucas De Marchi
With xe_force_wake_get() now returning the refcount-incremented domain
mask, a return value of 0 indicates failure for single domains
(excluding XE_FORCEWAKE_ALL).
Modify the return handling of xe_force_wake_get() accordingly and pass
the return value to xe_force_wake_put().
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
v5
- return unsigned int from xe_force_wake_get()
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_huc.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_huc.c b/drivers/gpu/drm/xe/xe_huc.c
index 77c5830309cf..6a846e4cb221 100644
--- a/drivers/gpu/drm/xe/xe_huc.c
+++ b/drivers/gpu/drm/xe/xe_huc.c
@@ -296,19 +296,19 @@ void xe_huc_sanitize(struct xe_huc *huc)
void xe_huc_print_info(struct xe_huc *huc, struct drm_printer *p)
{
struct xe_gt *gt = huc_to_gt(huc);
- int err;
+ unsigned int fw_ref;
xe_uc_fw_print(&huc->fw, p);
if (!xe_uc_fw_is_enabled(&huc->fw))
return;
- err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
- if (err)
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ if (!fw_ref)
return;
drm_printf(p, "\nHuC status: 0x%08x\n",
xe_mmio_read32(>->mmio, HUC_KERNEL_LOAD_INFO));
- xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 15/23] drm/xe/oa: Handle force_wake_get failure in xe_oa_stream_init()
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (13 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 14/23] drm/xe/huc: " Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 16/23] drm/xe/pat: Update handling of xe_force_wake_get return Himal Prasad Ghimiray
` (15 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe
Cc: Himal Prasad Ghimiray, Ashutosh Dixit, Rodrigo Vivi,
Lucas De Marchi
With xe_force_wake_get() now returning the refcount-incremented domain
mask, a non-zero return value in the case of XE_FORCEWAKE_ALL does not
necessarily indicate success. Compare the return value with
XE_FORCEWAKE_ALL to determine the status of the call.
Modify the return handling of xe_force_wake_get() accordingly and pass
the return value to xe_force_wake_put().
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
- xe_force_wake_put() error doesn't need to be checked. It internally
WARNS on domain ack failure.
v5
- return unsigned int from xe_force_wake_get()
Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_oa.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_oa.c b/drivers/gpu/drm/xe/xe_oa.c
index 354ee9045efc..06e71a86cbcb 100644
--- a/drivers/gpu/drm/xe/xe_oa.c
+++ b/drivers/gpu/drm/xe/xe_oa.c
@@ -840,7 +840,7 @@ static void xe_oa_stream_destroy(struct xe_oa_stream *stream)
xe_oa_free_oa_buffer(stream);
- XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL));
+ xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL);
xe_pm_runtime_put(stream->oa->xe);
/* Wa_1509372804:pvc: Unset the override of GUCRC mode to enable rc6 */
@@ -1357,6 +1357,7 @@ static int xe_oa_stream_init(struct xe_oa_stream *stream,
{
struct xe_oa_unit *u = param->hwe->oa_unit;
struct xe_gt *gt = param->hwe->gt;
+ unsigned int fw_ref;
int ret;
stream->exec_q = param->exec_q;
@@ -1417,7 +1418,11 @@ static int xe_oa_stream_init(struct xe_oa_stream *stream,
/* Take runtime pm ref and forcewake to disable RC6 */
xe_pm_runtime_get(stream->oa->xe);
- XE_WARN_ON(xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL));
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ if (fw_ref != XE_FORCEWAKE_ALL) {
+ ret = -ETIMEDOUT;
+ goto err_fw_put;
+ }
ret = xe_oa_alloc_oa_buffer(stream);
if (ret)
@@ -1459,7 +1464,7 @@ static int xe_oa_stream_init(struct xe_oa_stream *stream,
err_free_oa_buf:
xe_oa_free_oa_buffer(stream);
err_fw_put:
- XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL));
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
xe_pm_runtime_put(stream->oa->xe);
if (stream->override_gucrc)
xe_gt_WARN_ON(gt, xe_guc_pc_unset_gucrc_mode(>->uc.guc.pc));
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 16/23] drm/xe/pat: Update handling of xe_force_wake_get return
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (14 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 15/23] drm/xe/oa: Handle force_wake_get failure in xe_oa_stream_init() Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 17/23] drm/xe/gt_tlb_invalidation_ggtt: " Himal Prasad Ghimiray
` (14 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe
Cc: Himal Prasad Ghimiray, Michal Wajdeczko, Rodrigo Vivi,
Lucas De Marchi
With xe_force_wake_get() now returning the refcount-incremented domain
mask, a return value of 0 indicates failure for single domains
(excluding XE_FORCEWAKE_ALL).
Modify the return handling of xe_force_wake_get() accordingly and pass
the return value to xe_force_wake_put().
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
- xe_force_wake_put() error doesn't need to be checked. It internally
WARNS on domain ack failure.
- don't use xe_assert() to report HW errors (Michal)
v5
- return unsigned int from xe_force_wake_get()
- remove redundant warns
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_pat.c | 66 +++++++++++++++++--------------------
1 file changed, 31 insertions(+), 35 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_pat.c b/drivers/gpu/drm/xe/xe_pat.c
index 6bd6adfdfc74..ecfe868248bc 100644
--- a/drivers/gpu/drm/xe/xe_pat.c
+++ b/drivers/gpu/drm/xe/xe_pat.c
@@ -15,6 +15,7 @@
#include "xe_force_wake.h"
#include "xe_gt.h"
#include "xe_gt_mcr.h"
+#include "xe_gt_printk.h"
#include "xe_mmio.h"
#include "xe_sriov.h"
#include "xe_wa.h"
@@ -182,11 +183,12 @@ static void program_pat_mcr(struct xe_gt *gt, const struct xe_pat_table_entry ta
static void xelp_dump(struct xe_gt *gt, struct drm_printer *p)
{
struct xe_device *xe = gt_to_xe(gt);
- int i, err;
+ unsigned int fw_ref;
+ int i;
- err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
- if (err)
- goto err_fw;
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ if (!fw_ref)
+ return;
drm_printf(p, "PAT table:\n");
@@ -198,9 +200,7 @@ static void xelp_dump(struct xe_gt *gt, struct drm_printer *p)
XELP_MEM_TYPE_STR_MAP[mem_type], pat);
}
- err = xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
-err_fw:
- xe_assert(xe, !err);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
static const struct xe_pat_ops xelp_pat_ops = {
@@ -211,11 +211,12 @@ static const struct xe_pat_ops xelp_pat_ops = {
static void xehp_dump(struct xe_gt *gt, struct drm_printer *p)
{
struct xe_device *xe = gt_to_xe(gt);
- int i, err;
+ unsigned int fw_ref;
+ int i;
- err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
- if (err)
- goto err_fw;
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ if (!fw_ref)
+ return;
drm_printf(p, "PAT table:\n");
@@ -229,9 +230,7 @@ static void xehp_dump(struct xe_gt *gt, struct drm_printer *p)
XELP_MEM_TYPE_STR_MAP[mem_type], pat);
}
- err = xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
-err_fw:
- xe_assert(xe, !err);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
static const struct xe_pat_ops xehp_pat_ops = {
@@ -242,11 +241,12 @@ static const struct xe_pat_ops xehp_pat_ops = {
static void xehpc_dump(struct xe_gt *gt, struct drm_printer *p)
{
struct xe_device *xe = gt_to_xe(gt);
- int i, err;
+ unsigned int fw_ref;
+ int i;
- err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
- if (err)
- goto err_fw;
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ if (!fw_ref)
+ return;
drm_printf(p, "PAT table:\n");
@@ -258,9 +258,7 @@ static void xehpc_dump(struct xe_gt *gt, struct drm_printer *p)
REG_FIELD_GET(XEHPC_CLOS_LEVEL_MASK, pat), pat);
}
- err = xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
-err_fw:
- xe_assert(xe, !err);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
static const struct xe_pat_ops xehpc_pat_ops = {
@@ -271,11 +269,12 @@ static const struct xe_pat_ops xehpc_pat_ops = {
static void xelpg_dump(struct xe_gt *gt, struct drm_printer *p)
{
struct xe_device *xe = gt_to_xe(gt);
- int i, err;
+ unsigned int fw_ref;
+ int i;
- err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
- if (err)
- goto err_fw;
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ if (!fw_ref)
+ return;
drm_printf(p, "PAT table:\n");
@@ -292,9 +291,7 @@ static void xelpg_dump(struct xe_gt *gt, struct drm_printer *p)
REG_FIELD_GET(XELPG_INDEX_COH_MODE_MASK, pat), pat);
}
- err = xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
-err_fw:
- xe_assert(xe, !err);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
/*
@@ -330,12 +327,13 @@ static void xe2lpm_program_pat(struct xe_gt *gt, const struct xe_pat_table_entry
static void xe2_dump(struct xe_gt *gt, struct drm_printer *p)
{
struct xe_device *xe = gt_to_xe(gt);
- int i, err;
+ unsigned int fw_ref;
u32 pat;
+ int i;
- err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
- if (err)
- goto err_fw;
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ if (!fw_ref)
+ return;
drm_printf(p, "PAT table:\n");
@@ -374,9 +372,7 @@ static void xe2_dump(struct xe_gt *gt, struct drm_printer *p)
REG_FIELD_GET(XE2_COH_MODE, pat),
pat);
- err = xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
-err_fw:
- xe_assert(xe, !err);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
static const struct xe_pat_ops xe2_pat_ops = {
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 17/23] drm/xe/gt_tlb_invalidation_ggtt: Update handling of xe_force_wake_get return
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (15 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 16/23] drm/xe/pat: Update handling of xe_force_wake_get return Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 18/23] drm/xe/xe_reg_sr: " Himal Prasad Ghimiray
` (13 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe
Cc: Himal Prasad Ghimiray, Matthew Brost, Rodrigo Vivi,
Lucas De Marchi
With xe_force_wake_get() now returning the refcount-incremented domain
mask, a return value of 0 indicates failure for single domains
(excluding XE_FORCEWAKE_ALL).
Modify the return handling of xe_force_wake_get() accordingly and pass
the return value to xe_force_wake_put().
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
v5
- return unsigned int from xe_force_wake_get()
- remove redundant warns
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c b/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
index 98616de0c5bb..302ac48186d3 100644
--- a/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
+++ b/drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
@@ -259,6 +259,7 @@ static int xe_gt_tlb_invalidation_guc(struct xe_gt *gt,
int xe_gt_tlb_invalidation_ggtt(struct xe_gt *gt)
{
struct xe_device *xe = gt_to_xe(gt);
+ unsigned int fw_ref;
if (xe_guc_ct_enabled(>->uc.guc.ct) &&
gt->uc.guc.submission_state.enabled) {
@@ -279,7 +280,7 @@ int xe_gt_tlb_invalidation_ggtt(struct xe_gt *gt)
if (IS_SRIOV_VF(xe))
return 0;
- xe_gt_WARN_ON(gt, xe_force_wake_get(gt_to_fw(gt), XE_FW_GT));
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
if (xe->info.platform == XE_PVC || GRAPHICS_VER(xe) >= 20) {
xe_mmio_write32(mmio, PVC_GUC_TLB_INV_DESC1,
PVC_GUC_TLB_INV_DESC1_INVALIDATE);
@@ -289,7 +290,7 @@ int xe_gt_tlb_invalidation_ggtt(struct xe_gt *gt)
xe_mmio_write32(mmio, GUC_TLB_INV_CR,
GUC_TLB_INV_CR_INVALIDATE);
}
- xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
}
return 0;
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 18/23] drm/xe/xe_reg_sr: Update handling of xe_force_wake_get return
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (16 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 17/23] drm/xe/gt_tlb_invalidation_ggtt: " Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 19/23] drm/xe/query: " Himal Prasad Ghimiray
` (12 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe; +Cc: Himal Prasad Ghimiray, Rodrigo Vivi, Lucas De Marchi
With xe_force_wake_get() now returning the refcount-incremented
domain mask, a non-zero return value in the case of XE_FORCEWAKE_ALL does
not necessarily indicate success. Compare the return value with
XE_FORCEWAKE_ALL to determine the status of the call.
Modify the return handling of xe_force_wake_get() accordingly and
pass the return value to xe_force_wake_put().
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
- xe_force_wake_put() error doesn't need to be checked. It internally
WARNS on domain ack failure.
v5
- return unsigned int from xe_force_wake_get()
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_reg_sr.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_reg_sr.c b/drivers/gpu/drm/xe/xe_reg_sr.c
index 191cb4121acd..150fe2c2568c 100644
--- a/drivers/gpu/drm/xe/xe_reg_sr.c
+++ b/drivers/gpu/drm/xe/xe_reg_sr.c
@@ -188,27 +188,27 @@ void xe_reg_sr_apply_mmio(struct xe_reg_sr *sr, struct xe_gt *gt)
{
struct xe_reg_sr_entry *entry;
unsigned long reg;
- int err;
+ unsigned int fw_ref;
if (xa_empty(&sr->xa))
return;
xe_gt_dbg(gt, "Applying %s save-restore MMIOs\n", sr->name);
- err = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
- if (err)
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ if (fw_ref != XE_FORCEWAKE_ALL)
goto err_force_wake;
xa_for_each(&sr->xa, reg, entry)
apply_one_mmio(gt, entry);
- err = xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL);
- XE_WARN_ON(err);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
return;
err_force_wake:
- xe_gt_err(gt, "Failed to apply, err=%d\n", err);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
+ xe_gt_err(gt, "Failed to apply, err=-ETIMEDOUT\n");
}
void xe_reg_sr_apply_whitelist(struct xe_hw_engine *hwe)
@@ -221,15 +221,15 @@ void xe_reg_sr_apply_whitelist(struct xe_hw_engine *hwe)
u32 mmio_base = hwe->mmio_base;
unsigned long reg;
unsigned int slot = 0;
- int err;
+ unsigned int fw_ref;
if (xa_empty(&sr->xa))
return;
drm_dbg(&xe->drm, "Whitelisting %s registers\n", sr->name);
- err = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
- if (err)
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ if (fw_ref != XE_FORCEWAKE_ALL)
goto err_force_wake;
p = drm_dbg_printer(&xe->drm, DRM_UT_DRIVER, NULL);
@@ -254,13 +254,13 @@ void xe_reg_sr_apply_whitelist(struct xe_hw_engine *hwe)
xe_mmio_write32(>->mmio, RING_FORCE_TO_NONPRIV(mmio_base, slot), addr);
}
- err = xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL);
- XE_WARN_ON(err);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
return;
err_force_wake:
- drm_err(&xe->drm, "Failed to apply, err=%d\n", err);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
+ drm_err(&xe->drm, "Failed to apply, err=-ETIMEDOUT\n");
}
/**
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 19/23] drm/xe/query: Update handling of xe_force_wake_get return
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (17 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 18/23] drm/xe/xe_reg_sr: " Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 20/23] drm/xe/vram: " Himal Prasad Ghimiray
` (11 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe; +Cc: Himal Prasad Ghimiray, Rodrigo Vivi, Lucas De Marchi
With xe_force_wake_get() now returning the refcount-incremented
domain mask, a non-zero return value in the case of XE_FORCEWAKE_ALL
does not necessarily indicate success. Compare the return value with
XE_FORCEWAKE_ALL to determine the status of the call.
Modify the return handling of xe_force_wake_get() accordingly and
pass the return value to xe_force_wake_put().
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
- xe_force_wake_put() error doesn't need to be checked. It internally
WARNS on domain ack failure.
v5
- return unsigned int from xe_force_wake_get()
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_query.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_query.c b/drivers/gpu/drm/xe/xe_query.c
index 5246a4a2740e..143910a67783 100644
--- a/drivers/gpu/drm/xe/xe_query.c
+++ b/drivers/gpu/drm/xe/xe_query.c
@@ -118,6 +118,7 @@ query_engine_cycles(struct xe_device *xe,
__ktime_func_t cpu_clock;
struct xe_hw_engine *hwe;
struct xe_gt *gt;
+ unsigned int fw_ref;
if (query->size == 0) {
query->size = size;
@@ -150,8 +151,11 @@ query_engine_cycles(struct xe_device *xe,
if (!hwe)
return -EINVAL;
- if (xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL))
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ if (fw_ref != XE_FORCEWAKE_ALL) {
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
return -EIO;
+ }
__read_timestamps(gt,
RING_TIMESTAMP(hwe->mmio_base),
@@ -161,7 +165,7 @@ query_engine_cycles(struct xe_device *xe,
&resp.cpu_delta,
cpu_clock);
- xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
resp.width = 36;
/* Only write to the output fields of user query */
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 20/23] drm/xe/vram: Update handling of xe_force_wake_get return
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (18 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 19/23] drm/xe/query: " Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 21/23] drm/xe: forcewake debugfs open fails on xe_forcewake_get failure Himal Prasad Ghimiray
` (10 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe; +Cc: Himal Prasad Ghimiray, Rodrigo Vivi, Lucas De Marchi
With xe_force_wake_get() now returning the refcount-incremented domain
mask, a return value of 0 indicates failure for single domains
(excluding XE_FORCEWAKE_ALL).
Modify the return handling of xe_force_wake_get() accordingly and
pass the return value to xe_force_wake_put().
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
- xe_force_wake_put() error doesn't need to be escalated/considered as
probing error. It internally WARNS on domain ack failure.
v5
- return unsigned int from xe_force_wake_get()
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_vram.c | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_vram.c b/drivers/gpu/drm/xe/xe_vram.c
index 2a623bfcda7e..b1f81dca610d 100644
--- a/drivers/gpu/drm/xe/xe_vram.c
+++ b/drivers/gpu/drm/xe/xe_vram.c
@@ -220,8 +220,8 @@ static int tile_vram_size(struct xe_tile *tile, u64 *vram_size,
{
struct xe_device *xe = tile_to_xe(tile);
struct xe_gt *gt = tile->primary_gt;
+ unsigned int fw_ref;
u64 offset;
- int err;
u32 reg;
if (IS_SRIOV_VF(xe)) {
@@ -240,9 +240,9 @@ static int tile_vram_size(struct xe_tile *tile, u64 *vram_size,
return 0;
}
- err = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
- if (err)
- return err;
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FW_GT);
+ if (!fw_ref)
+ return -ETIMEDOUT;
/* actual size */
if (unlikely(xe->info.platform == XE_DG1)) {
@@ -264,7 +264,9 @@ static int tile_vram_size(struct xe_tile *tile, u64 *vram_size,
/* remove the tile offset so we have just the available size */
*vram_size = offset - *tile_offset;
- return xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
+
+ return 0;
}
static void vram_fini(void *arg)
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 21/23] drm/xe: forcewake debugfs open fails on xe_forcewake_get failure
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (19 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 20/23] drm/xe/vram: " Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 22/23] drm/xe: Ensure __must_check for xe_force_wake_get() return Himal Prasad Ghimiray
` (9 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe
Cc: Himal Prasad Ghimiray, Badal Nilawar, Rodrigo Vivi,
Lucas De Marchi
A failure in xe_force_wake_get() no longer increments the domain's
refcount. Therefore, if xe_force_wake_get() fails during forcewake
debugfs open, return an error. This ensures there are no valid file
descriptors to close via forcewake debugfs, preventing refcount
mismanagement.
v3
- return xe_wakeref_t instead of int in xe_force_wake_get()
v5
- return unsigned int from xe_force_wake_get()
Cc: Badal Nilawar <badal.nilawar@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_debugfs.c | 27 +++++++++++++++++++++++----
1 file changed, 23 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_debugfs.c b/drivers/gpu/drm/xe/xe_debugfs.c
index a64bae36e0e3..a33a61b664c6 100644
--- a/drivers/gpu/drm/xe/xe_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_debugfs.c
@@ -92,13 +92,32 @@ static int forcewake_open(struct inode *inode, struct file *file)
{
struct xe_device *xe = inode->i_private;
struct xe_gt *gt;
- u8 id;
+ u8 id, last_gt;
+ unsigned int fw_ref;
xe_pm_runtime_get(xe);
- for_each_gt(gt, xe, id)
- XE_WARN_ON(xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL));
+ for_each_gt(gt, xe, id) {
+ last_gt = id;
+
+ fw_ref = xe_force_wake_get(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ if (fw_ref != XE_FORCEWAKE_ALL)
+ goto err_fw_get;
+ }
return 0;
+
+err_fw_get:
+ for_each_gt(gt, xe, id) {
+ if (id < last_gt)
+ xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL);
+ else if (id == last_gt)
+ xe_force_wake_put(gt_to_fw(gt), fw_ref);
+ else
+ break;
+ }
+
+ xe_pm_runtime_put(xe);
+ return -ETIMEDOUT;
}
static int forcewake_release(struct inode *inode, struct file *file)
@@ -108,7 +127,7 @@ static int forcewake_release(struct inode *inode, struct file *file)
u8 id;
for_each_gt(gt, xe, id)
- XE_WARN_ON(xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL));
+ xe_force_wake_put(gt_to_fw(gt), XE_FORCEWAKE_ALL);
xe_pm_runtime_put(xe);
return 0;
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 22/23] drm/xe: Ensure __must_check for xe_force_wake_get() return
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (20 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 21/23] drm/xe: forcewake debugfs open fails on xe_forcewake_get failure Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-24 12:16 ` [PATCH v5 23/23] drm/xe: Change return type to void for xe_force_wake_put Himal Prasad Ghimiray
` (8 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe
Cc: Himal Prasad Ghimiray, Badal Nilawar, Rodrigo Vivi,
Lucas De Marchi, Nirmoy Das
Add __must_check attribute for xe_force_wake_get().
Cc: Badal Nilawar <badal.nilawar@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> (#rev1)
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_force_wake.c | 4 ++--
drivers/gpu/drm/xe/xe_force_wake.h | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/xe_force_wake.c
index c805214bc348..d2eb367da7c1 100644
--- a/drivers/gpu/drm/xe/xe_force_wake.c
+++ b/drivers/gpu/drm/xe/xe_force_wake.c
@@ -164,8 +164,8 @@ static int domain_sleep_wait(struct xe_gt *gt,
* the caller should handle the failure case, potentially returning
* -ETIMEDOUT.
*/
-unsigned int xe_force_wake_get(struct xe_force_wake *fw,
- enum xe_force_wake_domains domains)
+unsigned int __must_check xe_force_wake_get(struct xe_force_wake *fw,
+ enum xe_force_wake_domains domains)
{
struct xe_gt *gt = fw->gt;
struct xe_force_wake_domain *domain;
diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/xe/xe_force_wake.h
index 731a9a5a29a4..0b676462c97b 100644
--- a/drivers/gpu/drm/xe/xe_force_wake.h
+++ b/drivers/gpu/drm/xe/xe_force_wake.h
@@ -15,8 +15,8 @@ void xe_force_wake_init_gt(struct xe_gt *gt,
struct xe_force_wake *fw);
void xe_force_wake_init_engines(struct xe_gt *gt,
struct xe_force_wake *fw);
-unsigned int xe_force_wake_get(struct xe_force_wake *fw,
- enum xe_force_wake_domains domains);
+unsigned int __must_check xe_force_wake_get(struct xe_force_wake *fw,
+ enum xe_force_wake_domains domains);
int xe_force_wake_put(struct xe_force_wake *fw,
unsigned int domains_mask);
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* [PATCH v5 23/23] drm/xe: Change return type to void for xe_force_wake_put
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (21 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 22/23] drm/xe: Ensure __must_check for xe_force_wake_get() return Himal Prasad Ghimiray
@ 2024-09-24 12:16 ` Himal Prasad Ghimiray
2024-09-25 10:30 ` Nilawar, Badal
2024-09-25 14:07 ` Michal Wajdeczko
2024-09-26 1:04 ` ✓ CI.Patch_applied: success for Fix xe_force_wake_get() failure handling (rev5) Patchwork
` (7 subsequent siblings)
30 siblings, 2 replies; 46+ messages in thread
From: Himal Prasad Ghimiray @ 2024-09-24 12:16 UTC (permalink / raw)
To: intel-xe
Cc: Himal Prasad Ghimiray, Badal Nilawar, Rodrigo Vivi,
Lucas De Marchi, Nirmoy Das
There is no need to return an error from xe_force_wake_put(), as a
failure implicitly indicates that the domain failed to sleep.
v3
- Move kernel-doc to this patch (Badal)
v5
- change parameter to unsigned int in xe_force_wake_put()
Cc: Badal Nilawar <badal.nilawar@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Nirmoy Das <nirmoy.das@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
---
drivers/gpu/drm/xe/xe_force_wake.c | 20 ++++++++++++++++----
drivers/gpu/drm/xe/xe_force_wake.h | 4 ++--
2 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/xe_force_wake.c
index d2eb367da7c1..c2c55d3de36f 100644
--- a/drivers/gpu/drm/xe/xe_force_wake.c
+++ b/drivers/gpu/drm/xe/xe_force_wake.c
@@ -11,6 +11,7 @@
#include "regs/xe_reg_defs.h"
#include "xe_gt.h"
#include "xe_gt_printk.h"
+#include "xe_macros.h"
#include "xe_mmio.h"
#include "xe_sriov.h"
@@ -196,8 +197,20 @@ unsigned int __must_check xe_force_wake_get(struct xe_force_wake *fw,
return ret;
}
-int xe_force_wake_put(struct xe_force_wake *fw,
- unsigned int domains_mask)
+/**
+ * xe_force_wake_put - Decrement the refcount and put domain to sleep if refcount becomes 0
+ * @fw: Pointer to the force wake structure
+ * @domains_mask: forcewake domain mask to put reference
+ *
+ * This function reduces the reference counts for specified domain mask. If
+ * refcount for any of the specified domain reaches 0, it puts the domain to sleep
+ * and waits for acknowledgment for domain to sleep within specified timeout.
+ * Ensure this function is always called with return of xe_force_wake_get() as
+ * @domains_mask.
+ * Warns in case of timeout of ack from domain.
+ */
+void xe_force_wake_put(struct xe_force_wake *fw,
+ unsigned int domains_mask)
{
struct xe_gt *gt = fw->gt;
struct xe_force_wake_domain *domain;
@@ -210,7 +223,7 @@ int xe_force_wake_put(struct xe_force_wake *fw,
* in error path of individual domains.
*/
if (!domains_mask)
- return 0;
+ return;
spin_lock_irqsave(&fw->lock, flags);
for_each_fw_domain_masked(domain, domains_mask, fw, tmp) {
@@ -229,5 +242,4 @@ int xe_force_wake_put(struct xe_force_wake *fw,
xe_gt_WARN(gt, ret, "domain%s %#x failed to acknowledgment sleep\n",
str_plural(hweight_long(ret)), ret);
- return ret;
}
diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/xe/xe_force_wake.h
index 0b676462c97b..a79c98ed6d2f 100644
--- a/drivers/gpu/drm/xe/xe_force_wake.h
+++ b/drivers/gpu/drm/xe/xe_force_wake.h
@@ -17,8 +17,8 @@ void xe_force_wake_init_engines(struct xe_gt *gt,
struct xe_force_wake *fw);
unsigned int __must_check xe_force_wake_get(struct xe_force_wake *fw,
enum xe_force_wake_domains domains);
-int xe_force_wake_put(struct xe_force_wake *fw,
- unsigned int domains_mask);
+void xe_force_wake_put(struct xe_force_wake *fw,
+ unsigned int domains_mask);
static inline int
xe_force_wake_ref(struct xe_force_wake *fw,
--
2.34.1
^ permalink raw reply related [flat|nested] 46+ messages in thread* Re: [PATCH v5 23/23] drm/xe: Change return type to void for xe_force_wake_put
2024-09-24 12:16 ` [PATCH v5 23/23] drm/xe: Change return type to void for xe_force_wake_put Himal Prasad Ghimiray
@ 2024-09-25 10:30 ` Nilawar, Badal
2024-09-25 14:07 ` Michal Wajdeczko
1 sibling, 0 replies; 46+ messages in thread
From: Nilawar, Badal @ 2024-09-25 10:30 UTC (permalink / raw)
To: Himal Prasad Ghimiray, intel-xe; +Cc: Rodrigo Vivi, Lucas De Marchi, Nirmoy Das
On 24-09-2024 17:46, Himal Prasad Ghimiray wrote:
> There is no need to return an error from xe_force_wake_put(), as a
> failure implicitly indicates that the domain failed to sleep.
>
> v3
> - Move kernel-doc to this patch (Badal)
>
> v5
> - change parameter to unsigned int in xe_force_wake_put()
>
> Cc: Badal Nilawar <badal.nilawar@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
> Cc: Nirmoy Das <nirmoy.das@intel.com>
> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
> ---
> drivers/gpu/drm/xe/xe_force_wake.c | 20 ++++++++++++++++----
> drivers/gpu/drm/xe/xe_force_wake.h | 4 ++--
> 2 files changed, 18 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/xe_force_wake.c
> index d2eb367da7c1..c2c55d3de36f 100644
> --- a/drivers/gpu/drm/xe/xe_force_wake.c
> +++ b/drivers/gpu/drm/xe/xe_force_wake.c
> @@ -11,6 +11,7 @@
> #include "regs/xe_reg_defs.h"
> #include "xe_gt.h"
> #include "xe_gt_printk.h"
> +#include "xe_macros.h"
> #include "xe_mmio.h"
> #include "xe_sriov.h"
>
> @@ -196,8 +197,20 @@ unsigned int __must_check xe_force_wake_get(struct xe_force_wake *fw,
> return ret;
> }
>
> -int xe_force_wake_put(struct xe_force_wake *fw,
> - unsigned int domains_mask)
> +/**
> + * xe_force_wake_put - Decrement the refcount and put domain to sleep if refcount becomes 0
> + * @fw: Pointer to the force wake structure
> + * @domains_mask: forcewake domain mask to put reference
> + *
> + * This function reduces the reference counts for specified domain mask. If
> + * refcount for any of the specified domain reaches 0, it puts the domain to sleep
> + * and waits for acknowledgment for domain to sleep within specified timeout.
> + * Ensure this function is always called with return of xe_force_wake_get() as
> + * @domains_mask.
> + * Warns in case of timeout of ack from domain.
> + */
> +void xe_force_wake_put(struct xe_force_wake *fw,
> + unsigned int domains_mask)
> {
> struct xe_gt *gt = fw->gt;
> struct xe_force_wake_domain *domain;
> @@ -210,7 +223,7 @@ int xe_force_wake_put(struct xe_force_wake *fw,
> * in error path of individual domains.
> */
> if (!domains_mask)
> - return 0;
> + return;
>
> spin_lock_irqsave(&fw->lock, flags);
> for_each_fw_domain_masked(domain, domains_mask, fw, tmp) {
> @@ -229,5 +242,4 @@ int xe_force_wake_put(struct xe_force_wake *fw,
>
> xe_gt_WARN(gt, ret, "domain%s %#x failed to acknowledgment sleep\n",
> str_plural(hweight_long(ret)), ret);
> - return ret;
> }
> diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/xe/xe_force_wake.h
> index 0b676462c97b..a79c98ed6d2f 100644
> --- a/drivers/gpu/drm/xe/xe_force_wake.h
> +++ b/drivers/gpu/drm/xe/xe_force_wake.h
> @@ -17,8 +17,8 @@ void xe_force_wake_init_engines(struct xe_gt *gt,
> struct xe_force_wake *fw);
> unsigned int __must_check xe_force_wake_get(struct xe_force_wake *fw,
> enum xe_force_wake_domains domains);
> -int xe_force_wake_put(struct xe_force_wake *fw,
> - unsigned int domains_mask);
> +void xe_force_wake_put(struct xe_force_wake *fw,
> + unsigned int domains_mask);
Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
Regards,
Badal
>
> static inline int
> xe_force_wake_ref(struct xe_force_wake *fw,
^ permalink raw reply [flat|nested] 46+ messages in thread* Re: [PATCH v5 23/23] drm/xe: Change return type to void for xe_force_wake_put
2024-09-24 12:16 ` [PATCH v5 23/23] drm/xe: Change return type to void for xe_force_wake_put Himal Prasad Ghimiray
2024-09-25 10:30 ` Nilawar, Badal
@ 2024-09-25 14:07 ` Michal Wajdeczko
2024-09-25 16:46 ` Ghimiray, Himal Prasad
1 sibling, 1 reply; 46+ messages in thread
From: Michal Wajdeczko @ 2024-09-25 14:07 UTC (permalink / raw)
To: Himal Prasad Ghimiray, intel-xe
Cc: Badal Nilawar, Rodrigo Vivi, Lucas De Marchi, Nirmoy Das
On 24.09.2024 14:16, Himal Prasad Ghimiray wrote:
> There is no need to return an error from xe_force_wake_put(), as a
> failure implicitly indicates that the domain failed to sleep.
>
> v3
> - Move kernel-doc to this patch (Badal)
>
> v5
> - change parameter to unsigned int in xe_force_wake_put()
>
> Cc: Badal Nilawar <badal.nilawar@intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
> Cc: Nirmoy Das <nirmoy.das@intel.com>
> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
> ---
> drivers/gpu/drm/xe/xe_force_wake.c | 20 ++++++++++++++++----
> drivers/gpu/drm/xe/xe_force_wake.h | 4 ++--
> 2 files changed, 18 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/xe_force_wake.c
> index d2eb367da7c1..c2c55d3de36f 100644
> --- a/drivers/gpu/drm/xe/xe_force_wake.c
> +++ b/drivers/gpu/drm/xe/xe_force_wake.c
> @@ -11,6 +11,7 @@
> #include "regs/xe_reg_defs.h"
> #include "xe_gt.h"
> #include "xe_gt_printk.h"
> +#include "xe_macros.h"
this include is likely not needed
> #include "xe_mmio.h"
> #include "xe_sriov.h"
>
> @@ -196,8 +197,20 @@ unsigned int __must_check xe_force_wake_get(struct xe_force_wake *fw,
> return ret;
> }
>
> -int xe_force_wake_put(struct xe_force_wake *fw,
> - unsigned int domains_mask)
> +/**
> + * xe_force_wake_put - Decrement the refcount and put domain to sleep if refcount becomes 0
> + * @fw: Pointer to the force wake structure
> + * @domains_mask: forcewake domain mask to put reference
> + *
> + * This function reduces the reference counts for specified domain mask. If
> + * refcount for any of the specified domain reaches 0, it puts the domain to sleep
> + * and waits for acknowledgment for domain to sleep within specified timeout.
nit: if this timeout is hardcoded maybe mention or refer it?
> + * Ensure this function is always called with return of xe_force_wake_get() as
> + * @domains_mask.
> + * Warns in case of timeout of ack from domain.
> + */
> +void xe_force_wake_put(struct xe_force_wake *fw,
> + unsigned int domains_mask)
nit: no need to wrap, your kernel-doc is much wider
> {
> struct xe_gt *gt = fw->gt;
> struct xe_force_wake_domain *domain;
> @@ -210,7 +223,7 @@ int xe_force_wake_put(struct xe_force_wake *fw,
> * in error path of individual domains.
> */
> if (!domains_mask)
> - return 0;
> + return;
>
> spin_lock_irqsave(&fw->lock, flags);
> for_each_fw_domain_masked(domain, domains_mask, fw, tmp) {
> @@ -229,5 +242,4 @@ int xe_force_wake_put(struct xe_force_wake *fw,
>
> xe_gt_WARN(gt, ret, "domain%s %#x failed to acknowledgment sleep\n",
> str_plural(hweight_long(ret)), ret);
> - return ret;
> }
> diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/xe/xe_force_wake.h
> index 0b676462c97b..a79c98ed6d2f 100644
> --- a/drivers/gpu/drm/xe/xe_force_wake.h
> +++ b/drivers/gpu/drm/xe/xe_force_wake.h
> @@ -17,8 +17,8 @@ void xe_force_wake_init_engines(struct xe_gt *gt,
> struct xe_force_wake *fw);
> unsigned int __must_check xe_force_wake_get(struct xe_force_wake *fw,
> enum xe_force_wake_domains domains);
> -int xe_force_wake_put(struct xe_force_wake *fw,
> - unsigned int domains_mask);
> +void xe_force_wake_put(struct xe_force_wake *fw,
> + unsigned int domains_mask);
no need to wrap the line
>
> static inline int
> xe_force_wake_ref(struct xe_force_wake *fw,
^ permalink raw reply [flat|nested] 46+ messages in thread* Re: [PATCH v5 23/23] drm/xe: Change return type to void for xe_force_wake_put
2024-09-25 14:07 ` Michal Wajdeczko
@ 2024-09-25 16:46 ` Ghimiray, Himal Prasad
0 siblings, 0 replies; 46+ messages in thread
From: Ghimiray, Himal Prasad @ 2024-09-25 16:46 UTC (permalink / raw)
To: Michal Wajdeczko, intel-xe
Cc: Badal Nilawar, Rodrigo Vivi, Lucas De Marchi, Nirmoy Das
On 25-09-2024 19:37, Michal Wajdeczko wrote:
>
>
> On 24.09.2024 14:16, Himal Prasad Ghimiray wrote:
>> There is no need to return an error from xe_force_wake_put(), as a
>> failure implicitly indicates that the domain failed to sleep.
>>
>> v3
>> - Move kernel-doc to this patch (Badal)
>>
>> v5
>> - change parameter to unsigned int in xe_force_wake_put()
>>
>> Cc: Badal Nilawar <badal.nilawar@intel.com>
>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>> Cc: Lucas De Marchi <lucas.demarchi@intel.com>
>> Cc: Nirmoy Das <nirmoy.das@intel.com>
>> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
>> ---
>> drivers/gpu/drm/xe/xe_force_wake.c | 20 ++++++++++++++++----
>> drivers/gpu/drm/xe/xe_force_wake.h | 4 ++--
>> 2 files changed, 18 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/xe_force_wake.c
>> index d2eb367da7c1..c2c55d3de36f 100644
>> --- a/drivers/gpu/drm/xe/xe_force_wake.c
>> +++ b/drivers/gpu/drm/xe/xe_force_wake.c
>> @@ -11,6 +11,7 @@
>> #include "regs/xe_reg_defs.h"
>> #include "xe_gt.h"
>> #include "xe_gt_printk.h"
>> +#include "xe_macros.h"
>
> this include is likely not needed
will recheck. Probably a leftover from XE_WARN_ON. Thanks for pointing
this out.
>
>> #include "xe_mmio.h"
>> #include "xe_sriov.h"
>>
>> @@ -196,8 +197,20 @@ unsigned int __must_check xe_force_wake_get(struct xe_force_wake *fw,
>> return ret;
>> }
>>
>> -int xe_force_wake_put(struct xe_force_wake *fw,
>> - unsigned int domains_mask)
>> +/**
>> + * xe_force_wake_put - Decrement the refcount and put domain to sleep if refcount becomes 0
>> + * @fw: Pointer to the force wake structure
>> + * @domains_mask: forcewake domain mask to put reference
>> + *
>> + * This function reduces the reference counts for specified domain mask. If
>> + * refcount for any of the specified domain reaches 0, it puts the domain to sleep
>> + * and waits for acknowledgment for domain to sleep within specified timeout.
>
> nit: if this timeout is hardcoded maybe mention or refer it?
Sure.
>
>> + * Ensure this function is always called with return of xe_force_wake_get() as
>> + * @domains_mask.
>> + * Warns in case of timeout of ack from domain.
>> + */
>> +void xe_force_wake_put(struct xe_force_wake *fw,
>> + unsigned int domains_mask)
>
> nit: no need to wrap, your kernel-doc is much wider
Sure.
>
>> {
>> struct xe_gt *gt = fw->gt;
>> struct xe_force_wake_domain *domain;
>> @@ -210,7 +223,7 @@ int xe_force_wake_put(struct xe_force_wake *fw,
>> * in error path of individual domains.
>> */
>> if (!domains_mask)
>> - return 0;
>> + return;
>>
>> spin_lock_irqsave(&fw->lock, flags);
>> for_each_fw_domain_masked(domain, domains_mask, fw, tmp) {
>> @@ -229,5 +242,4 @@ int xe_force_wake_put(struct xe_force_wake *fw,
>>
>> xe_gt_WARN(gt, ret, "domain%s %#x failed to acknowledgment sleep\n",
>> str_plural(hweight_long(ret)), ret);
>> - return ret;
>> }
>> diff --git a/drivers/gpu/drm/xe/xe_force_wake.h b/drivers/gpu/drm/xe/xe_force_wake.h
>> index 0b676462c97b..a79c98ed6d2f 100644
>> --- a/drivers/gpu/drm/xe/xe_force_wake.h
>> +++ b/drivers/gpu/drm/xe/xe_force_wake.h
>> @@ -17,8 +17,8 @@ void xe_force_wake_init_engines(struct xe_gt *gt,
>> struct xe_force_wake *fw);
>> unsigned int __must_check xe_force_wake_get(struct xe_force_wake *fw,
>> enum xe_force_wake_domains domains);
>> -int xe_force_wake_put(struct xe_force_wake *fw,
>> - unsigned int domains_mask);
>> +void xe_force_wake_put(struct xe_force_wake *fw,
>> + unsigned int domains_mask);
>
> no need to wrap the line
Sure
>
>>
>> static inline int
>> xe_force_wake_ref(struct xe_force_wake *fw,
>
^ permalink raw reply [flat|nested] 46+ messages in thread
* ✓ CI.Patch_applied: success for Fix xe_force_wake_get() failure handling (rev5)
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (22 preceding siblings ...)
2024-09-24 12:16 ` [PATCH v5 23/23] drm/xe: Change return type to void for xe_force_wake_put Himal Prasad Ghimiray
@ 2024-09-26 1:04 ` Patchwork
2024-09-26 1:04 ` ✓ CI.checkpatch: " Patchwork
` (6 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2024-09-26 1:04 UTC (permalink / raw)
To: Ghimiray, Himal Prasad; +Cc: intel-xe
== Series Details ==
Series: Fix xe_force_wake_get() failure handling (rev5)
URL : https://patchwork.freedesktop.org/series/137982/
State : success
== Summary ==
=== Applying kernel patches on branch 'drm-tip' with base: ===
Base commit: 88d592f72f7b drm-tip: 2024y-09m-25d-19h-23m-21s UTC integration manifest
=== git am output follows ===
Applying: drm/xe: Error handling in xe_force_wake_get()
Applying: drm/xe: Modify xe_force_wake_put to handle _get returned mask
Applying: drm/xe/device: Update handling of xe_force_wake_get return
Applying: drm/xe/hdcp: Update handling of xe_force_wake_get return
Applying: drm/xe/gsc: Update handling of xe_force_wake_get return
Applying: drm/xe/gt: Update handling of xe_force_wake_get return
Applying: drm/xe/xe_gt_idle: Update handling of xe_force_wake_get return
Applying: drm/xe/devcoredump: Update handling of xe_force_wake_get return
Applying: drm/xe/tests/mocs: Update xe_force_wake_get() return handling
Applying: drm/xe/mocs: Update handling of xe_force_wake_get return
Applying: drm/xe/xe_drm_client: Update handling of xe_force_wake_get return
Applying: drm/xe/xe_gt_debugfs: Update handling of xe_force_wake_get return
Applying: drm/xe/guc: Update handling of xe_force_wake_get return
Applying: drm/xe/huc: Update handling of xe_force_wake_get return
Applying: drm/xe/oa: Handle force_wake_get failure in xe_oa_stream_init()
Applying: drm/xe/pat: Update handling of xe_force_wake_get return
Applying: drm/xe/gt_tlb_invalidation_ggtt: Update handling of xe_force_wake_get return
Applying: drm/xe/xe_reg_sr: Update handling of xe_force_wake_get return
Applying: drm/xe/query: Update handling of xe_force_wake_get return
Applying: drm/xe/vram: Update handling of xe_force_wake_get return
Applying: drm/xe: forcewake debugfs open fails on xe_forcewake_get failure
Applying: drm/xe: Ensure __must_check for xe_force_wake_get() return
Applying: drm/xe: Change return type to void for xe_force_wake_put
^ permalink raw reply [flat|nested] 46+ messages in thread* ✓ CI.checkpatch: success for Fix xe_force_wake_get() failure handling (rev5)
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (23 preceding siblings ...)
2024-09-26 1:04 ` ✓ CI.Patch_applied: success for Fix xe_force_wake_get() failure handling (rev5) Patchwork
@ 2024-09-26 1:04 ` Patchwork
2024-09-26 1:05 ` ✓ CI.KUnit: " Patchwork
` (5 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2024-09-26 1:04 UTC (permalink / raw)
To: Ghimiray, Himal Prasad; +Cc: intel-xe
== Series Details ==
Series: Fix xe_force_wake_get() failure handling (rev5)
URL : https://patchwork.freedesktop.org/series/137982/
State : success
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
30ab6715fc09baee6cc14cb3c89ad8858688d474
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 9ab09c18bb7258069f77ee4b31b2f40ae3c3be69
Author: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Date: Tue Sep 24 17:46:41 2024 +0530
drm/xe: Change return type to void for xe_force_wake_put
There is no need to return an error from xe_force_wake_put(), as a
failure implicitly indicates that the domain failed to sleep.
v3
- Move kernel-doc to this patch (Badal)
v5
- change parameter to unsigned int in xe_force_wake_put()
Cc: Badal Nilawar <badal.nilawar@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Nirmoy Das <nirmoy.das@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
+ /mt/dim checkpatch 88d592f72f7bc508d6a027b1f96aa2e53f803e1b drm-intel
a77b885b893c drm/xe: Error handling in xe_force_wake_get()
3ed9e597ff05 drm/xe: Modify xe_force_wake_put to handle _get returned mask
c9ece6d6acc7 drm/xe/device: Update handling of xe_force_wake_get return
5e66322bb536 drm/xe/hdcp: Update handling of xe_force_wake_get return
3eef38a8a365 drm/xe/gsc: Update handling of xe_force_wake_get return
f6fe90b64ce2 drm/xe/gt: Update handling of xe_force_wake_get return
3acbdf2022df drm/xe/xe_gt_idle: Update handling of xe_force_wake_get return
3ecd8f39dffb drm/xe/devcoredump: Update handling of xe_force_wake_get return
b62afb2dff1a drm/xe/tests/mocs: Update xe_force_wake_get() return handling
4e11ba3fc938 drm/xe/mocs: Update handling of xe_force_wake_get return
ea8ada53209b drm/xe/xe_drm_client: Update handling of xe_force_wake_get return
e19f5021ce15 drm/xe/xe_gt_debugfs: Update handling of xe_force_wake_get return
914e4b07d8ab drm/xe/guc: Update handling of xe_force_wake_get return
b006ac0f50ae drm/xe/huc: Update handling of xe_force_wake_get return
d80a41d00eac drm/xe/oa: Handle force_wake_get failure in xe_oa_stream_init()
219ad0a214b8 drm/xe/pat: Update handling of xe_force_wake_get return
7daad5ddacd7 drm/xe/gt_tlb_invalidation_ggtt: Update handling of xe_force_wake_get return
12a83e9840d8 drm/xe/xe_reg_sr: Update handling of xe_force_wake_get return
e63c7a848b03 drm/xe/query: Update handling of xe_force_wake_get return
3c236042aaa2 drm/xe/vram: Update handling of xe_force_wake_get return
c47bd90293d1 drm/xe: forcewake debugfs open fails on xe_forcewake_get failure
a0225b99fec9 drm/xe: Ensure __must_check for xe_force_wake_get() return
9ab09c18bb72 drm/xe: Change return type to void for xe_force_wake_put
^ permalink raw reply [flat|nested] 46+ messages in thread* ✓ CI.KUnit: success for Fix xe_force_wake_get() failure handling (rev5)
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (24 preceding siblings ...)
2024-09-26 1:04 ` ✓ CI.checkpatch: " Patchwork
@ 2024-09-26 1:05 ` Patchwork
2024-09-26 1:17 ` ✓ CI.Build: " Patchwork
` (4 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2024-09-26 1:05 UTC (permalink / raw)
To: Ghimiray, Himal Prasad; +Cc: intel-xe
== Series Details ==
Series: Fix xe_force_wake_get() failure handling (rev5)
URL : https://patchwork.freedesktop.org/series/137982/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[01:04:23] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[01:04:27] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
../lib/iomap.c:156:5: warning: no previous prototype for ‘ioread64_lo_hi’ [-Wmissing-prototypes]
156 | u64 ioread64_lo_hi(const void __iomem *addr)
| ^~~~~~~~~~~~~~
../lib/iomap.c:163:5: warning: no previous prototype for ‘ioread64_hi_lo’ [-Wmissing-prototypes]
163 | u64 ioread64_hi_lo(const void __iomem *addr)
| ^~~~~~~~~~~~~~
../lib/iomap.c:170:5: warning: no previous prototype for ‘ioread64be_lo_hi’ [-Wmissing-prototypes]
170 | u64 ioread64be_lo_hi(const void __iomem *addr)
| ^~~~~~~~~~~~~~~~
../lib/iomap.c:178:5: warning: no previous prototype for ‘ioread64be_hi_lo’ [-Wmissing-prototypes]
178 | u64 ioread64be_hi_lo(const void __iomem *addr)
| ^~~~~~~~~~~~~~~~
../lib/iomap.c:264:6: warning: no previous prototype for ‘iowrite64_lo_hi’ [-Wmissing-prototypes]
264 | void iowrite64_lo_hi(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~
../lib/iomap.c:272:6: warning: no previous prototype for ‘iowrite64_hi_lo’ [-Wmissing-prototypes]
272 | void iowrite64_hi_lo(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~
../lib/iomap.c:280:6: warning: no previous prototype for ‘iowrite64be_lo_hi’ [-Wmissing-prototypes]
280 | void iowrite64be_lo_hi(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~~~
../lib/iomap.c:288:6: warning: no previous prototype for ‘iowrite64be_hi_lo’ [-Wmissing-prototypes]
288 | void iowrite64be_hi_lo(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~~~
[01:04:55] Starting KUnit Kernel (1/1)...
[01:04:55] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[01:04:55] =================== guc_dbm (7 subtests) ===================
[01:04:55] [PASSED] test_empty
[01:04:55] [PASSED] test_default
[01:04:55] ======================== test_size ========================
[01:04:55] [PASSED] 4
[01:04:55] [PASSED] 8
[01:04:55] [PASSED] 32
[01:04:55] [PASSED] 256
[01:04:55] ==================== [PASSED] test_size ====================
[01:04:55] ======================= test_reuse ========================
[01:04:55] [PASSED] 4
[01:04:55] [PASSED] 8
[01:04:55] [PASSED] 32
[01:04:55] [PASSED] 256
[01:04:55] =================== [PASSED] test_reuse ====================
[01:04:55] =================== test_range_overlap ====================
[01:04:55] [PASSED] 4
[01:04:55] [PASSED] 8
[01:04:55] [PASSED] 32
[01:04:55] [PASSED] 256
[01:04:55] =============== [PASSED] test_range_overlap ================
[01:04:55] =================== test_range_compact ====================
[01:04:55] [PASSED] 4
[01:04:55] [PASSED] 8
[01:04:55] [PASSED] 32
[01:04:55] [PASSED] 256
[01:04:55] =============== [PASSED] test_range_compact ================
[01:04:55] ==================== test_range_spare =====================
[01:04:55] [PASSED] 4
[01:04:55] [PASSED] 8
[01:04:55] [PASSED] 32
[01:04:55] [PASSED] 256
[01:04:55] ================ [PASSED] test_range_spare =================
[01:04:55] ===================== [PASSED] guc_dbm =====================
[01:04:55] =================== guc_idm (6 subtests) ===================
[01:04:55] [PASSED] bad_init
[01:04:55] [PASSED] no_init
[01:04:55] [PASSED] init_fini
[01:04:55] [PASSED] check_used
[01:04:55] [PASSED] check_quota
[01:04:55] [PASSED] check_all
[01:04:55] ===================== [PASSED] guc_idm =====================
[01:04:55] ================== no_relay (3 subtests) ===================
[01:04:55] [PASSED] xe_drops_guc2pf_if_not_ready
[01:04:55] [PASSED] xe_drops_guc2vf_if_not_ready
[01:04:55] [PASSED] xe_rejects_send_if_not_ready
[01:04:55] ==================== [PASSED] no_relay =====================
[01:04:55] ================== pf_relay (14 subtests) ==================
[01:04:55] [PASSED] pf_rejects_guc2pf_too_short
[01:04:55] [PASSED] pf_rejects_guc2pf_too_long
[01:04:55] [PASSED] pf_rejects_guc2pf_no_payload
[01:04:55] [PASSED] pf_fails_no_payload
[01:04:55] [PASSED] pf_fails_bad_origin
[01:04:55] [PASSED] pf_fails_bad_type
[01:04:55] [PASSED] pf_txn_reports_error
[01:04:55] [PASSED] pf_txn_sends_pf2guc
[01:04:55] [PASSED] pf_sends_pf2guc
[01:04:55] [SKIPPED] pf_loopback_nop
[01:04:55] [SKIPPED] pf_loopback_echo
[01:04:55] [SKIPPED] pf_loopback_fail
[01:04:55] [SKIPPED] pf_loopback_busy
[01:04:55] [SKIPPED] pf_loopback_retry
[01:04:55] ==================== [PASSED] pf_relay =====================
[01:04:55] ================== vf_relay (3 subtests) ===================
[01:04:55] [PASSED] vf_rejects_guc2vf_too_short
[01:04:55] [PASSED] vf_rejects_guc2vf_too_long
[01:04:55] [PASSED] vf_rejects_guc2vf_no_payload
[01:04:55] ==================== [PASSED] vf_relay =====================
[01:04:55] ================= pf_service (11 subtests) =================
[01:04:55] [PASSED] pf_negotiate_any
[01:04:55] [PASSED] pf_negotiate_base_match
[01:04:55] [PASSED] pf_negotiate_base_newer
[01:04:55] [PASSED] pf_negotiate_base_next
[01:04:55] [SKIPPED] pf_negotiate_base_older
[01:04:55] [PASSED] pf_negotiate_base_prev
[01:04:55] [PASSED] pf_negotiate_latest_match
[01:04:55] [PASSED] pf_negotiate_latest_newer
[01:04:55] [PASSED] pf_negotiate_latest_next
[01:04:55] [SKIPPED] pf_negotiate_latest_older
[01:04:55] [SKIPPED] pf_negotiate_latest_prev
[01:04:55] =================== [PASSED] pf_service ====================
[01:04:55] ===================== lmtt (1 subtest) =====================
[01:04:55] ======================== test_ops =========================
[01:04:55] [PASSED] 2-level
[01:04:55] [PASSED] multi-level
[01:04:55] ==================== [PASSED] test_ops =====================
[01:04:55] ====================== [PASSED] lmtt =======================
[01:04:55] =================== xe_mocs (2 subtests) ===================
[01:04:55] ================ xe_live_mocs_kernel_kunit ================
[01:04:55] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[01:04:55] ================ xe_live_mocs_reset_kunit =================
[01:04:55] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[01:04:55] ==================== [SKIPPED] xe_mocs =====================
[01:04:55] ================= xe_migrate (2 subtests) ==================
[01:04:55] ================= xe_migrate_sanity_kunit =================
[01:04:55] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[01:04:55] ================== xe_validate_ccs_kunit ==================
[01:04:55] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[01:04:55] =================== [SKIPPED] xe_migrate ===================
[01:04:55] ================== xe_dma_buf (1 subtest) ==================
[01:04:55] ==================== xe_dma_buf_kunit =====================
[01:04:55] ================ [SKIPPED] xe_dma_buf_kunit ================
[01:04:55] =================== [SKIPPED] xe_dma_buf ===================
[01:04:55] ==================== xe_bo (3 subtests) ====================
[01:04:55] ================== xe_ccs_migrate_kunit ===================
[01:04:55] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[01:04:55] ==================== xe_bo_evict_kunit ====================
[01:04:55] =============== [SKIPPED] xe_bo_evict_kunit ================
[01:04:55] =================== xe_bo_shrink_kunit ====================
[01:04:55] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[01:04:55] ===================== [SKIPPED] xe_bo ======================
[01:04:55] ==================== args (11 subtests) ====================
[01:04:55] [PASSED] count_args_test
[01:04:55] [PASSED] call_args_example
[01:04:55] [PASSED] call_args_test
[01:04:55] [PASSED] drop_first_arg_example
[01:04:55] [PASSED] drop_first_arg_test
[01:04:55] [PASSED] first_arg_example
[01:04:55] [PASSED] first_arg_test
[01:04:55] [PASSED] last_arg_example
[01:04:55] [PASSED] last_arg_test
[01:04:55] [PASSED] pick_arg_example
[01:04:55] [PASSED] sep_comma_example
stty: 'standard input': Inappropriate ioctl for device
[01:04:55] ====================== [PASSED] args =======================
[01:04:55] =================== xe_pci (2 subtests) ====================
[01:04:55] [PASSED] xe_gmdid_graphics_ip
[01:04:55] [PASSED] xe_gmdid_media_ip
[01:04:55] ===================== [PASSED] xe_pci ======================
[01:04:55] =================== xe_rtp (2 subtests) ====================
[01:04:55] =============== xe_rtp_process_to_sr_tests ================
[01:04:55] [PASSED] coalesce-same-reg
[01:04:55] [PASSED] no-match-no-add
[01:04:55] [PASSED] match-or
[01:04:55] [PASSED] match-or-xfail
[01:04:55] [PASSED] no-match-no-add-multiple-rules
[01:04:55] [PASSED] two-regs-two-entries
[01:04:55] [PASSED] clr-one-set-other
[01:04:55] [PASSED] set-field
[01:04:55] [PASSED] conflict-duplicate
[01:04:55] [PASSED] conflict-not-disjoint
[01:04:55] [PASSED] conflict-reg-type
[01:04:55] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[01:04:55] ================== xe_rtp_process_tests ===================
[01:04:55] [PASSED] active1
[01:04:55] [PASSED] active2
[01:04:55] [PASSED] active-inactive
[01:04:55] [PASSED] inactive-active
[01:04:55] [PASSED] inactive-1st_or_active-inactive
[01:04:55] [PASSED] inactive-2nd_or_active-inactive
[01:04:55] [PASSED] inactive-last_or_active-inactive
[01:04:55] [PASSED] inactive-no_or_active-inactive
[01:04:55] ============== [PASSED] xe_rtp_process_tests ===============
[01:04:55] ===================== [PASSED] xe_rtp ======================
[01:04:55] ==================== xe_wa (1 subtest) =====================
[01:04:55] ======================== xe_wa_gt =========================
[01:04:55] [PASSED] TIGERLAKE (B0)
[01:04:55] [PASSED] DG1 (A0)
[01:04:55] [PASSED] DG1 (B0)
[01:04:55] [PASSED] ALDERLAKE_S (A0)
[01:04:55] [PASSED] ALDERLAKE_S (B0)
[01:04:55] [PASSED] ALDERLAKE_S (C0)
[01:04:55] [PASSED] ALDERLAKE_S (D0)
[01:04:55] [PASSED] ALDERLAKE_P (A0)
[01:04:55] [PASSED] ALDERLAKE_P (B0)
[01:04:55] [PASSED] ALDERLAKE_P (C0)
[01:04:55] [PASSED] ALDERLAKE_S_RPLS (D0)
[01:04:55] [PASSED] ALDERLAKE_P_RPLU (E0)
[01:04:55] [PASSED] DG2_G10 (C0)
[01:04:55] [PASSED] DG2_G11 (B1)
[01:04:55] [PASSED] DG2_G12 (A1)
[01:04:55] [PASSED] METEORLAKE (g:A0, m:A0)
[01:04:55] [PASSED] METEORLAKE (g:A0, m:A0)
[01:04:55] [PASSED] METEORLAKE (g:A0, m:A0)
[01:04:55] [PASSED] LUNARLAKE (g:A0, m:A0)
[01:04:55] [PASSED] LUNARLAKE (g:B0, m:A0)
[01:04:55] [PASSED] BATTLEMAGE (g:A0, m:A1)
[01:04:55] ==================== [PASSED] xe_wa_gt =====================
[01:04:55] ====================== [PASSED] xe_wa ======================
[01:04:55] ============================================================
[01:04:55] Testing complete. Ran 122 tests: passed: 106, skipped: 16
[01:04:55] Elapsed time: 31.830s total, 4.143s configuring, 27.421s building, 0.213s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[01:04:55] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[01:04:57] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
../lib/iomap.c:156:5: warning: no previous prototype for ‘ioread64_lo_hi’ [-Wmissing-prototypes]
156 | u64 ioread64_lo_hi(const void __iomem *addr)
| ^~~~~~~~~~~~~~
../lib/iomap.c:163:5: warning: no previous prototype for ‘ioread64_hi_lo’ [-Wmissing-prototypes]
163 | u64 ioread64_hi_lo(const void __iomem *addr)
| ^~~~~~~~~~~~~~
../lib/iomap.c:170:5: warning: no previous prototype for ‘ioread64be_lo_hi’ [-Wmissing-prototypes]
170 | u64 ioread64be_lo_hi(const void __iomem *addr)
| ^~~~~~~~~~~~~~~~
../lib/iomap.c:178:5: warning: no previous prototype for ‘ioread64be_hi_lo’ [-Wmissing-prototypes]
178 | u64 ioread64be_hi_lo(const void __iomem *addr)
| ^~~~~~~~~~~~~~~~
../lib/iomap.c:264:6: warning: no previous prototype for ‘iowrite64_lo_hi’ [-Wmissing-prototypes]
264 | void iowrite64_lo_hi(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~
../lib/iomap.c:272:6: warning: no previous prototype for ‘iowrite64_hi_lo’ [-Wmissing-prototypes]
272 | void iowrite64_hi_lo(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~
../lib/iomap.c:280:6: warning: no previous prototype for ‘iowrite64be_lo_hi’ [-Wmissing-prototypes]
280 | void iowrite64be_lo_hi(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~~~
../lib/iomap.c:288:6: warning: no previous prototype for ‘iowrite64be_hi_lo’ [-Wmissing-prototypes]
288 | void iowrite64be_hi_lo(u64 val, void __iomem *addr)
| ^~~~~~~~~~~~~~~~~
[01:05:19] Starting KUnit Kernel (1/1)...
[01:05:19] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[01:05:19] ============ drm_test_pick_cmdline (2 subtests) ============
[01:05:19] [PASSED] drm_test_pick_cmdline_res_1920_1080_60
[01:05:19] =============== drm_test_pick_cmdline_named ===============
[01:05:19] [PASSED] NTSC
[01:05:19] [PASSED] NTSC-J
[01:05:19] [PASSED] PAL
[01:05:19] [PASSED] PAL-M
[01:05:19] =========== [PASSED] drm_test_pick_cmdline_named ===========
[01:05:19] ============== [PASSED] drm_test_pick_cmdline ==============
[01:05:19] ================== drm_buddy (7 subtests) ==================
[01:05:19] [PASSED] drm_test_buddy_alloc_limit
[01:05:19] [PASSED] drm_test_buddy_alloc_optimistic
[01:05:19] [PASSED] drm_test_buddy_alloc_pessimistic
[01:05:19] [PASSED] drm_test_buddy_alloc_pathological
[01:05:19] [PASSED] drm_test_buddy_alloc_contiguous
[01:05:19] [PASSED] drm_test_buddy_alloc_clear
[01:05:19] [PASSED] drm_test_buddy_alloc_range_bias
[01:05:19] ==================== [PASSED] drm_buddy ====================
[01:05:19] ============= drm_cmdline_parser (40 subtests) =============
[01:05:19] [PASSED] drm_test_cmdline_force_d_only
[01:05:19] [PASSED] drm_test_cmdline_force_D_only_dvi
[01:05:19] [PASSED] drm_test_cmdline_force_D_only_hdmi
[01:05:19] [PASSED] drm_test_cmdline_force_D_only_not_digital
[01:05:19] [PASSED] drm_test_cmdline_force_e_only
[01:05:19] [PASSED] drm_test_cmdline_res
[01:05:19] [PASSED] drm_test_cmdline_res_vesa
[01:05:19] [PASSED] drm_test_cmdline_res_vesa_rblank
[01:05:19] [PASSED] drm_test_cmdline_res_rblank
[01:05:19] [PASSED] drm_test_cmdline_res_bpp
[01:05:19] [PASSED] drm_test_cmdline_res_refresh
[01:05:19] [PASSED] drm_test_cmdline_res_bpp_refresh
[01:05:19] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[01:05:19] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[01:05:19] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[01:05:19] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[01:05:19] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[01:05:19] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[01:05:19] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[01:05:19] [PASSED] drm_test_cmdline_res_margins_force_on
[01:05:19] [PASSED] drm_test_cmdline_res_vesa_margins
[01:05:19] [PASSED] drm_test_cmdline_name
[01:05:19] [PASSED] drm_test_cmdline_name_bpp
[01:05:19] [PASSED] drm_test_cmdline_name_option
[01:05:19] [PASSED] drm_test_cmdline_name_bpp_option
[01:05:19] [PASSED] drm_test_cmdline_rotate_0
[01:05:19] [PASSED] drm_test_cmdline_rotate_90
[01:05:19] [PASSED] drm_test_cmdline_rotate_180
[01:05:19] [PASSED] drm_test_cmdline_rotate_270
[01:05:19] [PASSED] drm_test_cmdline_hmirror
[01:05:19] [PASSED] drm_test_cmdline_vmirror
[01:05:19] [PASSED] drm_test_cmdline_margin_options
[01:05:19] [PASSED] drm_test_cmdline_multiple_options
[01:05:19] [PASSED] drm_test_cmdline_bpp_extra_and_option
[01:05:19] [PASSED] drm_test_cmdline_extra_and_option
[01:05:19] [PASSED] drm_test_cmdline_freestanding_options
[01:05:19] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[01:05:19] [PASSED] drm_test_cmdline_panel_orientation
[01:05:19] ================ drm_test_cmdline_invalid =================
[01:05:19] [PASSED] margin_only
[01:05:19] [PASSED] interlace_only
[01:05:19] [PASSED] res_missing_x
[01:05:19] [PASSED] res_missing_y
[01:05:19] [PASSED] res_bad_y
[01:05:19] [PASSED] res_missing_y_bpp
[01:05:19] [PASSED] res_bad_bpp
[01:05:19] [PASSED] res_bad_refresh
[01:05:19] [PASSED] res_bpp_refresh_force_on_off
[01:05:19] [PASSED] res_invalid_mode
[01:05:19] [PASSED] res_bpp_wrong_place_mode
[01:05:19] [PASSED] name_bpp_refresh
[01:05:19] [PASSED] name_refresh
[01:05:19] [PASSED] name_refresh_wrong_mode
[01:05:19] [PASSED] name_refresh_invalid_mode
[01:05:19] [PASSED] rotate_multiple
[01:05:19] [PASSED] rotate_invalid_val
[01:05:19] [PASSED] rotate_truncated
[01:05:19] [PASSED] invalid_option
[01:05:19] [PASSED] invalid_tv_option
[01:05:19] [PASSED] truncated_tv_option
[01:05:19] ============ [PASSED] drm_test_cmdline_invalid =============
[01:05:19] =============== drm_test_cmdline_tv_options ===============
[01:05:19] [PASSED] NTSC
[01:05:19] [PASSED] NTSC_443
[01:05:19] [PASSED] NTSC_J
[01:05:19] [PASSED] PAL
[01:05:19] [PASSED] PAL_M
[01:05:19] [PASSED] PAL_N
[01:05:19] [PASSED] SECAM
[01:05:19] [PASSED] MONO_525
[01:05:19] [PASSED] MONO_625
[01:05:19] =========== [PASSED] drm_test_cmdline_tv_options ===========
[01:05:19] =============== [PASSED] drm_cmdline_parser ================
[01:05:19] ========== drmm_connector_hdmi_init (19 subtests) ==========
[01:05:19] [PASSED] drm_test_connector_hdmi_init_valid
[01:05:19] [PASSED] drm_test_connector_hdmi_init_bpc_8
[01:05:19] [PASSED] drm_test_connector_hdmi_init_bpc_10
[01:05:19] [PASSED] drm_test_connector_hdmi_init_bpc_12
[01:05:19] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[01:05:19] [PASSED] drm_test_connector_hdmi_init_bpc_null
[01:05:19] [PASSED] drm_test_connector_hdmi_init_formats_empty
[01:05:19] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[01:05:19] [PASSED] drm_test_connector_hdmi_init_null_ddc
[01:05:19] [PASSED] drm_test_connector_hdmi_init_null_product
[01:05:19] [PASSED] drm_test_connector_hdmi_init_null_vendor
[01:05:19] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[01:05:19] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[01:05:19] [PASSED] drm_test_connector_hdmi_init_product_valid
[01:05:19] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[01:05:19] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[01:05:19] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[01:05:19] ========= drm_test_connector_hdmi_init_type_valid =========
[01:05:19] [PASSED] HDMI-A
[01:05:19] [PASSED] HDMI-B
[01:05:19] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[01:05:19] ======== drm_test_connector_hdmi_init_type_invalid ========
[01:05:19] [PASSED] Unknown
[01:05:19] [PASSED] VGA
[01:05:19] [PASSED] DVI-I
[01:05:19] [PASSED] DVI-D
[01:05:19] [PASSED] DVI-A
[01:05:19] [PASSED] Composite
[01:05:19] [PASSED] SVIDEO
[01:05:19] [PASSED] LVDS
[01:05:19] [PASSED] Component
[01:05:19] [PASSED] DIN
[01:05:19] [PASSED] DP
[01:05:19] [PASSED] TV
[01:05:19] [PASSED] eDP
[01:05:19] [PASSED] Virtual
[01:05:19] [PASSED] DSI
[01:05:19] [PASSED] DPI
[01:05:19] [PASSED] Writeback
[01:05:19] [PASSED] SPI
[01:05:19] [PASSED] USB
[01:05:19] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[01:05:19] ============ [PASSED] drmm_connector_hdmi_init =============
[01:05:19] ============= drmm_connector_init (3 subtests) =============
[01:05:19] [PASSED] drm_test_drmm_connector_init
[01:05:19] [PASSED] drm_test_drmm_connector_init_null_ddc
[01:05:19] ========= drm_test_drmm_connector_init_type_valid =========
[01:05:19] [PASSED] Unknown
[01:05:19] [PASSED] VGA
[01:05:19] [PASSED] DVI-I
[01:05:19] [PASSED] DVI-D
[01:05:19] [PASSED] DVI-A
[01:05:19] [PASSED] Composite
[01:05:19] [PASSED] SVIDEO
[01:05:19] [PASSED] LVDS
[01:05:19] [PASSED] Component
[01:05:19] [PASSED] DIN
[01:05:19] [PASSED] DP
[01:05:19] [PASSED] HDMI-A
[01:05:19] [PASSED] HDMI-B
[01:05:19] [PASSED] TV
[01:05:19] [PASSED] eDP
[01:05:19] [PASSED] Virtual
[01:05:19] [PASSED] DSI
[01:05:19] [PASSED] DPI
[01:05:19] [PASSED] Writeback
[01:05:19] [PASSED] SPI
[01:05:19] [PASSED] USB
[01:05:19] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[01:05:19] =============== [PASSED] drmm_connector_init ===============
[01:05:19] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[01:05:19] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[01:05:19] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[01:05:19] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[01:05:19] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[01:05:19] ========== drm_test_get_tv_mode_from_name_valid ===========
[01:05:19] [PASSED] NTSC
[01:05:19] [PASSED] NTSC-443
[01:05:19] [PASSED] NTSC-J
[01:05:19] [PASSED] PAL
[01:05:19] [PASSED] PAL-M
[01:05:19] [PASSED] PAL-N
[01:05:19] [PASSED] SECAM
[01:05:19] [PASSED] Mono
[01:05:19] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[01:05:19] [PASSED] drm_test_get_tv_mode_from_name_truncated
[01:05:19] ============ [PASSED] drm_get_tv_mode_from_name ============
[01:05:19] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[01:05:19] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[01:05:19] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[01:05:19] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[01:05:19] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[01:05:19] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[01:05:19] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[01:05:19] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[01:05:19] [PASSED] VIC 96
[01:05:19] [PASSED] VIC 97
[01:05:19] [PASSED] VIC 101
[01:05:19] [PASSED] VIC 102
[01:05:19] [PASSED] VIC 106
[01:05:19] [PASSED] VIC 107
[01:05:19] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[01:05:19] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[01:05:19] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[01:05:19] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[01:05:19] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[01:05:19] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[01:05:19] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[01:05:19] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[01:05:19] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[01:05:19] [PASSED] Automatic
[01:05:19] [PASSED] Full
[01:05:19] [PASSED] Limited 16:235
[01:05:19] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[01:05:19] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[01:05:19] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[01:05:19] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[01:05:19] === drm_test_drm_hdmi_connector_get_output_format_name ====
[01:05:19] [PASSED] RGB
[01:05:19] [PASSED] YUV 4:2:0
[01:05:19] [PASSED] YUV 4:2:2
[01:05:19] [PASSED] YUV 4:4:4
[01:05:19] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[01:05:19] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[01:05:19] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[01:05:19] ============= drm_damage_helper (21 subtests) ==============
[01:05:19] [PASSED] drm_test_damage_iter_no_damage
[01:05:19] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[01:05:19] [PASSED] drm_test_damage_iter_no_damage_src_moved
[01:05:19] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[01:05:19] [PASSED] drm_test_damage_iter_no_damage_not_visible
[01:05:19] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[01:05:19] [PASSED] drm_test_damage_iter_no_damage_no_fb
[01:05:19] [PASSED] drm_test_damage_iter_simple_damage
[01:05:19] [PASSED] drm_test_damage_iter_single_damage
[01:05:19] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[01:05:19] [PASSED] drm_test_damage_iter_single_damage_outside_src
[01:05:19] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[01:05:19] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[01:05:19] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[01:05:19] [PASSED] drm_test_damage_iter_single_damage_src_moved
[01:05:19] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[01:05:19] [PASSED] drm_test_damage_iter_damage
[01:05:19] [PASSED] drm_test_damage_iter_damage_one_intersect
[01:05:19] [PASSED] drm_test_damage_iter_damage_one_outside
[01:05:19] [PASSED] drm_test_damage_iter_damage_src_moved
[01:05:19] [PASSED] drm_test_damage_iter_damage_not_visible
[01:05:19] ================ [PASSED] drm_damage_helper ================
[01:05:19] ============== drm_dp_mst_helper (3 subtests) ==============
[01:05:19] ============== drm_test_dp_mst_calc_pbn_mode ==============
[01:05:19] [PASSED] Clock 154000 BPP 30 DSC disabled
[01:05:19] [PASSED] Clock 234000 BPP 30 DSC disabled
[01:05:19] [PASSED] Clock 297000 BPP 24 DSC disabled
[01:05:19] [PASSED] Clock 332880 BPP 24 DSC enabled
[01:05:19] [PASSED] Clock 324540 BPP 24 DSC enabled
[01:05:19] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[01:05:19] ============== drm_test_dp_mst_calc_pbn_div ===============
[01:05:19] [PASSED] Link rate 2000000 lane count 4
[01:05:19] [PASSED] Link rate 2000000 lane count 2
[01:05:19] [PASSED] Link rate 2000000 lane count 1
[01:05:19] [PASSED] Link rate 1350000 lane count 4
[01:05:19] [PASSED] Link rate 1350000 lane count 2
[01:05:19] [PASSED] Link rate 1350000 lane count 1
[01:05:19] [PASSED] Link rate 1000000 lane count 4
[01:05:19] [PASSED] Link rate 1000000 lane count 2
[01:05:19] [PASSED] Link rate 1000000 lane count 1
[01:05:19] [PASSED] Link rate 810000 lane count 4
[01:05:19] [PASSED] Link rate 810000 lane count 2
[01:05:19] [PASSED] Link rate 810000 lane count 1
[01:05:19] [PASSED] Link rate 540000 lane count 4
[01:05:19] [PASSED] Link rate 540000 lane count 2
[01:05:19] [PASSED] Link rate 540000 lane count 1
[01:05:19] [PASSED] Link rate 270000 lane count 4
[01:05:19] [PASSED] Link rate 270000 lane count 2
[01:05:19] [PASSED] Link rate 270000 lane count 1
[01:05:19] [PASSED] Link rate 162000 lane count 4
[01:05:19] [PASSED] Link rate 162000 lane count 2
[01:05:19] [PASSED] Link rate 162000 lane count 1
[01:05:19] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[01:05:19] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[01:05:19] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[01:05:19] [PASSED] DP_POWER_UP_PHY with port number
[01:05:19] [PASSED] DP_POWER_DOWN_PHY with port number
[01:05:19] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[01:05:19] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[01:05:19] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[01:05:19] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[01:05:19] [PASSED] DP_QUERY_PAYLOAD with port number
[01:05:19] [PASSED] DP_QUERY_PAYLOAD with VCPI
[01:05:19] [PASSED] DP_REMOTE_DPCD_READ with port number
[01:05:19] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[01:05:19] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[01:05:19] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[01:05:19] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[01:05:19] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[01:05:19] [PASSED] DP_REMOTE_I2C_READ with port number
[01:05:19] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[01:05:19] [PASSED] DP_REMOTE_I2C_READ with transactions array
[01:05:19] [PASSED] DP_REMOTE_I2C_WRITE with port number
[01:05:19] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[01:05:19] [PASSED] DP_REMOTE_I2C_WRITE with data array
[01:05:19] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[01:05:19] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[01:05:19] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[01:05:19] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[01:05:19] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[01:05:19] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[01:05:19] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[01:05:19] ================ [PASSED] drm_dp_mst_helper ================
[01:05:19] ================== drm_exec (7 subtests) ===================
[01:05:19] [PASSED] sanitycheck
[01:05:19] [PASSED] test_lock
[01:05:19] [PASSED] test_lock_unlock
[01:05:19] [PASSED] test_duplicates
[01:05:19] [PASSED] test_prepare
[01:05:19] [PASSED] test_prepare_array
[01:05:19] [PASSED] test_multiple_loops
[01:05:19] ==================== [PASSED] drm_exec =====================
[01:05:19] =========== drm_format_helper_test (17 subtests) ===========
[01:05:19] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[01:05:19] [PASSED] single_pixel_source_buffer
[01:05:19] [PASSED] single_pixel_clip_rectangle
[01:05:19] [PASSED] well_known_colors
[01:05:19] [PASSED] destination_pitch
[01:05:19] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[01:05:19] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[01:05:19] [PASSED] single_pixel_source_buffer
[01:05:19] [PASSED] single_pixel_clip_rectangle
[01:05:19] [PASSED] well_known_colors
[01:05:19] [PASSED] destination_pitch
[01:05:19] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[01:05:19] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[01:05:19] [PASSED] single_pixel_source_buffer
[01:05:19] [PASSED] single_pixel_clip_rectangle
[01:05:19] [PASSED] well_known_colors
[01:05:19] [PASSED] destination_pitch
[01:05:19] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[01:05:19] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[01:05:19] [PASSED] single_pixel_source_buffer
[01:05:19] [PASSED] single_pixel_clip_rectangle
[01:05:19] [PASSED] well_known_colors
[01:05:19] [PASSED] destination_pitch
[01:05:19] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[01:05:19] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[01:05:19] [PASSED] single_pixel_source_buffer
[01:05:19] [PASSED] single_pixel_clip_rectangle
[01:05:19] [PASSED] well_known_colors
[01:05:19] [PASSED] destination_pitch
[01:05:19] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[01:05:19] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[01:05:19] [PASSED] single_pixel_source_buffer
[01:05:19] [PASSED] single_pixel_clip_rectangle
[01:05:19] [PASSED] well_known_colors
[01:05:19] [PASSED] destination_pitch
[01:05:19] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[01:05:19] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[01:05:19] [PASSED] single_pixel_source_buffer
[01:05:19] [PASSED] single_pixel_clip_rectangle
[01:05:19] [PASSED] well_known_colors
[01:05:19] [PASSED] destination_pitch
[01:05:19] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[01:05:19] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[01:05:19] [PASSED] single_pixel_source_buffer
[01:05:19] [PASSED] single_pixel_clip_rectangle
[01:05:19] [PASSED] well_known_colors
[01:05:19] [PASSED] destination_pitch
[01:05:19] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[01:05:19] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[01:05:19] [PASSED] single_pixel_source_buffer
[01:05:19] [PASSED] single_pixel_clip_rectangle
[01:05:19] [PASSED] well_known_colors
[01:05:19] [PASSED] destination_pitch
[01:05:19] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[01:05:19] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[01:05:19] [PASSED] single_pixel_source_buffer
[01:05:19] [PASSED] single_pixel_clip_rectangle
[01:05:19] [PASSED] well_known_colors
[01:05:19] [PASSED] destination_pitch
[01:05:19] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[01:05:19] ============== drm_test_fb_xrgb8888_to_mono ===============
[01:05:19] [PASSED] single_pixel_source_buffer
[01:05:19] [PASSED] single_pixel_clip_rectangle
[01:05:19] [PASSED] well_known_colors
[01:05:19] [PASSED] destination_pitch
[01:05:19] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[01:05:19] ==================== drm_test_fb_swab =====================
[01:05:19] [PASSED] single_pixel_source_buffer
[01:05:19] [PASSED] single_pixel_clip_rectangle
[01:05:19] [PASSED] well_known_colors
[01:05:19] [PASSED] destination_pitch
[01:05:19] ================ [PASSED] drm_test_fb_swab =================
[01:05:19] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[01:05:19] [PASSED] single_pixel_source_buffer
[01:05:19] [PASSED] single_pixel_clip_rectangle
[01:05:19] [PASSED] well_known_colors
[01:05:19] [PASSED] destination_pitch
[01:05:19] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[01:05:19] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[01:05:19] [PASSED] single_pixel_source_buffer
[01:05:19] [PASSED] single_pixel_clip_rectangle
[01:05:19] [PASSED] well_known_colors
[01:05:19] [PASSED] destination_pitch
[01:05:19] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[01:05:19] ================= drm_test_fb_clip_offset =================
[01:05:19] [PASSED] pass through
[01:05:19] [PASSED] horizontal offset
[01:05:19] [PASSED] vertical offset
[01:05:19] [PASSED] horizontal and vertical offset
[01:05:19] [PASSED] horizontal offset (custom pitch)
[01:05:19] [PASSED] vertical offset (custom pitch)
[01:05:19] [PASSED] horizontal and vertical offset (custom pitch)
[01:05:19] ============= [PASSED] drm_test_fb_clip_offset =============
[01:05:19] ============== drm_test_fb_build_fourcc_list ==============
[01:05:19] [PASSED] no native formats
[01:05:19] [PASSED] XRGB8888 as native format
[01:05:19] [PASSED] remove duplicates
[01:05:19] [PASSED] convert alpha formats
[01:05:19] [PASSED] random formats
[01:05:19] ========== [PASSED] drm_test_fb_build_fourcc_list ==========
[01:05:19] =================== drm_test_fb_memcpy ====================
[01:05:19] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[01:05:19] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[01:05:19] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[01:05:19] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[01:05:19] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[01:05:19] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[01:05:19] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[01:05:19] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[01:05:19] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[01:05:19] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[01:05:19] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[01:05:19] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[01:05:19] =============== [PASSED] drm_test_fb_memcpy ================
[01:05:19] ============= [PASSED] drm_format_helper_test ==============
[01:05:19] ================= drm_format (18 subtests) =================
[01:05:19] [PASSED] drm_test_format_block_width_invalid
[01:05:19] [PASSED] drm_test_format_block_width_one_plane
[01:05:19] [PASSED] drm_test_format_block_width_two_plane
[01:05:19] [PASSED] drm_test_format_block_width_three_plane
[01:05:19] [PASSED] drm_test_format_block_width_tiled
[01:05:19] [PASSED] drm_test_format_block_height_invalid
[01:05:19] [PASSED] drm_test_format_block_height_one_plane
[01:05:19] [PASSED] drm_test_format_block_height_two_plane
[01:05:19] [PASSED] drm_test_format_block_height_three_plane
[01:05:19] [PASSED] drm_test_format_block_height_tiled
[01:05:19] [PASSED] drm_test_format_min_pitch_invalid
[01:05:19] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[01:05:19] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[01:05:19] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[01:05:19] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[01:05:19] [PASSED] drm_test_format_min_pitch_two_plane
[01:05:19] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[01:05:19] [PASSED] drm_test_format_min_pitch_tiled
[01:05:19] =================== [PASSED] drm_format ====================
[01:05:19] ============== drm_framebuffer (10 subtests) ===============
[01:05:19] ========== drm_test_framebuffer_check_src_coords ==========
[01:05:19] [PASSED] Success: source fits into fb
[01:05:19] [PASSED] Fail: overflowing fb with x-axis coordinate
[01:05:19] [PASSED] Fail: overflowing fb with y-axis coordinate
[01:05:19] [PASSED] Fail: overflowing fb with source width
[01:05:19] [PASSED] Fail: overflowing fb with source height
[01:05:19] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[01:05:19] [PASSED] drm_test_framebuffer_cleanup
[01:05:19] =============== drm_test_framebuffer_create ===============
[01:05:19] [PASSED] ABGR8888 normal sizes
[01:05:19] [PASSED] ABGR8888 max sizes
[01:05:19] [PASSED] ABGR8888 pitch greater than min required
[01:05:19] [PASSED] ABGR8888 pitch less than min required
[01:05:19] [PASSED] ABGR8888 Invalid width
[01:05:19] [PASSED] ABGR8888 Invalid buffer handle
[01:05:19] [PASSED] No pixel format
[01:05:19] [PASSED] ABGR8888 Width 0
[01:05:19] [PASSED] ABGR8888 Height 0
[01:05:19] [PASSED] ABGR8888 Out of bound height * pitch combination
[01:05:19] [PASSED] ABGR8888 Large buffer offset
[01:05:19] [PASSED] ABGR8888 Buffer offset for inexistent plane
[01:05:19] [PASSED] ABGR8888 Invalid flag
[01:05:19] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[01:05:19] [PASSED] ABGR8888 Valid buffer modifier
[01:05:19] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[01:05:19] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[01:05:19] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[01:05:19] [PASSED] NV12 Normal sizes
[01:05:19] [PASSED] NV12 Max sizes
[01:05:19] [PASSED] NV12 Invalid pitch
[01:05:19] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[01:05:19] [PASSED] NV12 different modifier per-plane
[01:05:19] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[01:05:19] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[01:05:19] [PASSED] NV12 Modifier for inexistent plane
[01:05:19] [PASSED] NV12 Handle for inexistent plane
[01:05:19] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[01:05:19] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[01:05:19] [PASSED] YVU420 Normal sizes
[01:05:19] [PASSED] YVU420 Max sizes
[01:05:19] [PASSED] YVU420 Invalid pitch
[01:05:19] [PASSED] YVU420 Different pitches
[01:05:19] [PASSED] YVU420 Different buffer offsets/pitches
[01:05:19] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[01:05:19] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[01:05:19] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[01:05:19] [PASSED] YVU420 Valid modifier
[01:05:19] [PASSED] YVU420 Different modifiers per plane
[01:05:19] [PASSED] YVU420 Modifier for inexistent plane
[01:05:19] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[01:05:19] [PASSED] X0L2 Normal sizes
[01:05:19] [PASSED] X0L2 Max sizes
[01:05:19] [PASSED] X0L2 Invalid pitch
[01:05:19] [PASSED] X0L2 Pitch greater than minimum required
[01:05:19] [PASSED] X0L2 Handle for inexistent plane
[01:05:19] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[01:05:19] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[01:05:19] [PASSED] X0L2 Valid modifier
[01:05:19] [PASSED] X0L2 Modifier for inexistent plane
[01:05:19] =========== [PASSED] drm_test_framebuffer_create ===========
[01:05:19] [PASSED] drm_test_framebuffer_free
[01:05:19] [PASSED] drm_test_framebuffer_init
[01:05:19] [PASSED] drm_test_framebuffer_init_bad_format
[01:05:19] [PASSED] drm_test_framebuffer_init_dev_mismatch
[01:05:19] [PASSED] drm_test_framebuffer_lookup
[01:05:19] [PASSED] drm_test_framebuffer_lookup_inexistent
[01:05:19] [PASSED] drm_test_framebuffer_modifiers_not_supported
[01:05:19] ================= [PASSED] drm_framebuffer =================
[01:05:19] ================ drm_gem_shmem (8 subtests) ================
[01:05:19] [PASSED] drm_gem_shmem_test_obj_create
[01:05:19] [PASSED] drm_gem_shmem_test_obj_create_private
[01:05:19] [PASSED] drm_gem_shmem_test_pin_pages
[01:05:19] [PASSED] drm_gem_shmem_test_vmap
[01:05:19] [PASSED] drm_gem_shmem_test_get_pages_sgt
[01:05:19] [PASSED] drm_gem_shmem_test_get_sg_table
[01:05:19] [PASSED] drm_gem_shmem_test_madvise
[01:05:19] [PASSED] drm_gem_shmem_test_purge
[01:05:19] ================== [PASSED] drm_gem_shmem ==================
[01:05:19] === drm_atomic_helper_connector_hdmi_check (22 subtests) ===
[01:05:19] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[01:05:19] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[01:05:19] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[01:05:19] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[01:05:19] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[01:05:19] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[01:05:19] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[01:05:19] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[01:05:19] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[01:05:19] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback
[01:05:19] [PASSED] drm_test_check_max_tmds_rate_format_fallback
[01:05:19] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[01:05:19] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[01:05:19] [PASSED] drm_test_check_output_bpc_dvi
[01:05:19] [PASSED] drm_test_check_output_bpc_format_vic_1
[01:05:19] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[01:05:19] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[01:05:19] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[01:05:19] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[01:05:19] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[01:05:19] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[01:05:19] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[01:05:19] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[01:05:19] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[01:05:19] [PASSED] drm_test_check_broadcast_rgb_value
[01:05:19] [PASSED] drm_test_check_bpc_8_value
[01:05:19] [PASSED] drm_test_check_bpc_10_value
[01:05:19] [PASSED] drm_test_check_bpc_12_value
[01:05:19] [PASSED] drm_test_check_format_value
[01:05:19] [PASSED] drm_test_check_tmds_char_value
[01:05:19] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[01:05:19] ================= drm_managed (2 subtests) =================
[01:05:19] [PASSED] drm_test_managed_release_action
[01:05:19] [PASSED] drm_test_managed_run_action
[01:05:19] =================== [PASSED] drm_managed ===================
[01:05:19] =================== drm_mm (6 subtests) ====================
[01:05:19] [PASSED] drm_test_mm_init
[01:05:19] [PASSED] drm_test_mm_debug
[01:05:19] [PASSED] drm_test_mm_align32
[01:05:19] [PASSED] drm_test_mm_align64
[01:05:19] [PASSED] drm_test_mm_lowest
[01:05:19] [PASSED] drm_test_mm_highest
[01:05:19] ===================== [PASSED] drm_mm ======================
[01:05:19] ============= drm_modes_analog_tv (5 subtests) =============
stty: 'standard input': Inappropriate ioctl for device
[01:05:19] [PASSED] drm_test_modes_analog_tv_mono_576i
[01:05:19] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[01:05:19] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[01:05:19] [PASSED] drm_test_modes_analog_tv_pal_576i
[01:05:19] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[01:05:19] =============== [PASSED] drm_modes_analog_tv ===============
[01:05:19] ============== drm_plane_helper (2 subtests) ===============
[01:05:19] =============== drm_test_check_plane_state ================
[01:05:19] [PASSED] clipping_simple
[01:05:19] [PASSED] clipping_rotate_reflect
[01:05:19] [PASSED] positioning_simple
[01:05:19] [PASSED] upscaling
[01:05:19] [PASSED] downscaling
[01:05:19] [PASSED] rounding1
[01:05:19] [PASSED] rounding2
[01:05:19] [PASSED] rounding3
[01:05:19] [PASSED] rounding4
[01:05:19] =========== [PASSED] drm_test_check_plane_state ============
[01:05:19] =========== drm_test_check_invalid_plane_state ============
[01:05:19] [PASSED] positioning_invalid
[01:05:19] [PASSED] upscaling_invalid
[01:05:19] [PASSED] downscaling_invalid
[01:05:19] ======= [PASSED] drm_test_check_invalid_plane_state ========
[01:05:19] ================ [PASSED] drm_plane_helper =================
[01:05:19] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[01:05:19] ====== drm_test_connector_helper_tv_get_modes_check =======
[01:05:19] [PASSED] None
[01:05:19] [PASSED] PAL
[01:05:19] [PASSED] NTSC
[01:05:19] [PASSED] Both, NTSC Default
[01:05:19] [PASSED] Both, PAL Default
[01:05:19] [PASSED] Both, NTSC Default, with PAL on command-line
[01:05:19] [PASSED] Both, PAL Default, with NTSC on command-line
[01:05:19] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[01:05:19] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[01:05:19] ================== drm_rect (9 subtests) ===================
[01:05:19] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[01:05:19] [PASSED] drm_test_rect_clip_scaled_not_clipped
[01:05:19] [PASSED] drm_test_rect_clip_scaled_clipped
[01:05:19] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[01:05:19] ================= drm_test_rect_intersect =================
[01:05:19] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[01:05:19] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[01:05:19] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[01:05:19] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[01:05:19] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[01:05:19] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[01:05:19] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[01:05:19] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[01:05:19] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[01:05:19] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[01:05:19] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[01:05:19] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[01:05:19] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[01:05:19] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[01:05:19] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[01:05:19] ============= [PASSED] drm_test_rect_intersect =============
[01:05:19] ================ drm_test_rect_calc_hscale ================
[01:05:19] [PASSED] normal use
[01:05:19] [PASSED] out of max range
[01:05:19] [PASSED] out of min range
[01:05:19] [PASSED] zero dst
[01:05:19] [PASSED] negative src
[01:05:19] [PASSED] negative dst
[01:05:19] ============ [PASSED] drm_test_rect_calc_hscale ============
[01:05:19] ================ drm_test_rect_calc_vscale ================
[01:05:19] [PASSED] normal use
[01:05:19] [PASSED] out of max range
[01:05:19] [PASSED] out of min range
[01:05:19] [PASSED] zero dst
[01:05:19] [PASSED] negative src
[01:05:19] [PASSED] negative dst
[01:05:19] ============ [PASSED] drm_test_rect_calc_vscale ============
[01:05:19] ================== drm_test_rect_rotate ===================
[01:05:19] [PASSED] reflect-x
[01:05:19] [PASSED] reflect-y
[01:05:19] [PASSED] rotate-0
[01:05:19] [PASSED] rotate-90
[01:05:19] [PASSED] rotate-180
[01:05:19] [PASSED] rotate-270
[01:05:19] ============== [PASSED] drm_test_rect_rotate ===============
[01:05:19] ================ drm_test_rect_rotate_inv =================
[01:05:19] [PASSED] reflect-x
[01:05:19] [PASSED] reflect-y
[01:05:19] [PASSED] rotate-0
[01:05:19] [PASSED] rotate-90
[01:05:19] [PASSED] rotate-180
[01:05:19] [PASSED] rotate-270
[01:05:19] ============ [PASSED] drm_test_rect_rotate_inv =============
[01:05:19] ==================== [PASSED] drm_rect =====================
[01:05:19] ============================================================
[01:05:19] Testing complete. Ran 531 tests: passed: 531
[01:05:19] Elapsed time: 23.871s total, 1.398s configuring, 22.300s building, 0.171s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[01:05:19] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[01:05:20] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make ARCH=um O=.kunit --jobs=48
[01:05:28] Starting KUnit Kernel (1/1)...
[01:05:28] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[01:05:28] ================= ttm_device (5 subtests) ==================
[01:05:28] [PASSED] ttm_device_init_basic
[01:05:28] [PASSED] ttm_device_init_multiple
[01:05:28] [PASSED] ttm_device_fini_basic
[01:05:28] [PASSED] ttm_device_init_no_vma_man
[01:05:28] ================== ttm_device_init_pools ==================
[01:05:28] [PASSED] No DMA allocations, no DMA32 required
[01:05:28] [PASSED] DMA allocations, DMA32 required
[01:05:28] [PASSED] No DMA allocations, DMA32 required
[01:05:28] [PASSED] DMA allocations, no DMA32 required
[01:05:28] ============== [PASSED] ttm_device_init_pools ==============
[01:05:28] =================== [PASSED] ttm_device ====================
[01:05:28] ================== ttm_pool (8 subtests) ===================
[01:05:28] ================== ttm_pool_alloc_basic ===================
[01:05:28] [PASSED] One page
[01:05:28] [PASSED] More than one page
[01:05:28] [PASSED] Above the allocation limit
[01:05:28] [PASSED] One page, with coherent DMA mappings enabled
[01:05:28] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[01:05:28] ============== [PASSED] ttm_pool_alloc_basic ===============
[01:05:28] ============== ttm_pool_alloc_basic_dma_addr ==============
[01:05:28] [PASSED] One page
[01:05:28] [PASSED] More than one page
[01:05:28] [PASSED] Above the allocation limit
[01:05:28] [PASSED] One page, with coherent DMA mappings enabled
[01:05:28] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[01:05:28] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[01:05:28] [PASSED] ttm_pool_alloc_order_caching_match
[01:05:28] [PASSED] ttm_pool_alloc_caching_mismatch
[01:05:28] [PASSED] ttm_pool_alloc_order_mismatch
[01:05:28] [PASSED] ttm_pool_free_dma_alloc
[01:05:28] [PASSED] ttm_pool_free_no_dma_alloc
[01:05:28] [PASSED] ttm_pool_fini_basic
[01:05:28] ==================== [PASSED] ttm_pool =====================
[01:05:28] ================ ttm_resource (8 subtests) =================
[01:05:28] ================= ttm_resource_init_basic =================
[01:05:28] [PASSED] Init resource in TTM_PL_SYSTEM
[01:05:28] [PASSED] Init resource in TTM_PL_VRAM
[01:05:28] [PASSED] Init resource in a private placement
[01:05:28] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[01:05:28] ============= [PASSED] ttm_resource_init_basic =============
[01:05:28] [PASSED] ttm_resource_init_pinned
[01:05:28] [PASSED] ttm_resource_fini_basic
[01:05:28] [PASSED] ttm_resource_manager_init_basic
[01:05:28] [PASSED] ttm_resource_manager_usage_basic
[01:05:28] [PASSED] ttm_resource_manager_set_used_basic
[01:05:28] [PASSED] ttm_sys_man_alloc_basic
[01:05:28] [PASSED] ttm_sys_man_free_basic
[01:05:28] ================== [PASSED] ttm_resource ===================
[01:05:28] =================== ttm_tt (15 subtests) ===================
[01:05:28] ==================== ttm_tt_init_basic ====================
[01:05:28] [PASSED] Page-aligned size
[01:05:28] [PASSED] Extra pages requested
[01:05:28] ================ [PASSED] ttm_tt_init_basic ================
[01:05:28] [PASSED] ttm_tt_init_misaligned
[01:05:28] [PASSED] ttm_tt_fini_basic
[01:05:28] [PASSED] ttm_tt_fini_sg
[01:05:28] [PASSED] ttm_tt_fini_shmem
[01:05:28] [PASSED] ttm_tt_create_basic
[01:05:28] [PASSED] ttm_tt_create_invalid_bo_type
[01:05:28] [PASSED] ttm_tt_create_ttm_exists
[01:05:28] [PASSED] ttm_tt_create_failed
[01:05:28] [PASSED] ttm_tt_destroy_basic
[01:05:28] [PASSED] ttm_tt_populate_null_ttm
[01:05:28] [PASSED] ttm_tt_populate_populated_ttm
[01:05:28] [PASSED] ttm_tt_unpopulate_basic
[01:05:28] [PASSED] ttm_tt_unpopulate_empty_ttm
[01:05:28] [PASSED] ttm_tt_swapin_basic
[01:05:28] ===================== [PASSED] ttm_tt ======================
[01:05:28] =================== ttm_bo (14 subtests) ===================
[01:05:28] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[01:05:28] [PASSED] Cannot be interrupted and sleeps
[01:05:28] [PASSED] Cannot be interrupted, locks straight away
[01:05:28] [PASSED] Can be interrupted, sleeps
[01:05:28] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[01:05:28] [PASSED] ttm_bo_reserve_locked_no_sleep
[01:05:28] [PASSED] ttm_bo_reserve_no_wait_ticket
[01:05:28] [PASSED] ttm_bo_reserve_double_resv
[01:05:28] [PASSED] ttm_bo_reserve_interrupted
[01:05:28] [PASSED] ttm_bo_reserve_deadlock
[01:05:28] [PASSED] ttm_bo_unreserve_basic
[01:05:28] [PASSED] ttm_bo_unreserve_pinned
[01:05:28] [PASSED] ttm_bo_unreserve_bulk
[01:05:28] [PASSED] ttm_bo_put_basic
[01:05:28] [PASSED] ttm_bo_put_shared_resv
[01:05:28] [PASSED] ttm_bo_pin_basic
[01:05:28] [PASSED] ttm_bo_pin_unpin_resource
[01:05:28] [PASSED] ttm_bo_multiple_pin_one_unpin
[01:05:28] ===================== [PASSED] ttm_bo ======================
[01:05:28] ============== ttm_bo_validate (22 subtests) ===============
[01:05:28] ============== ttm_bo_init_reserved_sys_man ===============
[01:05:28] [PASSED] Buffer object for userspace
[01:05:28] [PASSED] Kernel buffer object
[01:05:28] [PASSED] Shared buffer object
[01:05:28] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[01:05:28] ============== ttm_bo_init_reserved_mock_man ==============
[01:05:28] [PASSED] Buffer object for userspace
[01:05:28] [PASSED] Kernel buffer object
[01:05:28] [PASSED] Shared buffer object
[01:05:28] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[01:05:28] [PASSED] ttm_bo_init_reserved_resv
[01:05:28] ================== ttm_bo_validate_basic ==================
[01:05:28] [PASSED] Buffer object for userspace
[01:05:28] [PASSED] Kernel buffer object
[01:05:28] [PASSED] Shared buffer object
[01:05:28] ============== [PASSED] ttm_bo_validate_basic ==============
[01:05:28] [PASSED] ttm_bo_validate_invalid_placement
[01:05:28] ============= ttm_bo_validate_same_placement ==============
[01:05:28] [PASSED] System manager
[01:05:28] [PASSED] VRAM manager
[01:05:28] ========= [PASSED] ttm_bo_validate_same_placement ==========
[01:05:28] [PASSED] ttm_bo_validate_failed_alloc
[01:05:28] [PASSED] ttm_bo_validate_pinned
[01:05:28] [PASSED] ttm_bo_validate_busy_placement
[01:05:28] ================ ttm_bo_validate_multihop =================
[01:05:28] [PASSED] Buffer object for userspace
[01:05:28] [PASSED] Kernel buffer object
[01:05:28] [PASSED] Shared buffer object
[01:05:28] ============ [PASSED] ttm_bo_validate_multihop =============
[01:05:28] ========== ttm_bo_validate_no_placement_signaled ==========
[01:05:28] [PASSED] Buffer object in system domain, no page vector
[01:05:28] [PASSED] Buffer object in system domain with an existing page vector
[01:05:28] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[01:05:28] ======== ttm_bo_validate_no_placement_not_signaled ========
[01:05:28] [PASSED] Buffer object for userspace
[01:05:28] [PASSED] Kernel buffer object
[01:05:28] [PASSED] Shared buffer object
[01:05:28] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[01:05:28] [PASSED] ttm_bo_validate_move_fence_signaled
[01:05:28] ========= ttm_bo_validate_move_fence_not_signaled =========
[01:05:28] [PASSED] Waits for GPU
[01:05:28] [PASSED] Tries to lock straight away
[01:05:28] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[01:05:28] [PASSED] ttm_bo_validate_swapout
[01:05:28] [PASSED] ttm_bo_validate_happy_evict
[01:05:28] [PASSED] ttm_bo_validate_all_pinned_evict
[01:05:28] [PASSED] ttm_bo_validate_allowed_only_evict
[01:05:28] [PASSED] ttm_bo_validate_deleted_evict
[01:05:28] [PASSED] ttm_bo_validate_busy_domain_evict
[01:05:28] [PASSED] ttm_bo_validate_evict_gutting
[01:05:28] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[01:05:28] ================= [PASSED] ttm_bo_validate =================
[01:05:28] ============================================================
[01:05:28] Testing complete. Ran 102 tests: passed: 102
[01:05:28] Elapsed time: 9.101s total, 1.349s configuring, 7.084s building, 0.593s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 46+ messages in thread* ✓ CI.Build: success for Fix xe_force_wake_get() failure handling (rev5)
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (25 preceding siblings ...)
2024-09-26 1:05 ` ✓ CI.KUnit: " Patchwork
@ 2024-09-26 1:17 ` Patchwork
2024-09-26 1:19 ` ✓ CI.Hooks: " Patchwork
` (3 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2024-09-26 1:17 UTC (permalink / raw)
To: Ghimiray, Himal Prasad; +Cc: intel-xe
== Series Details ==
Series: Fix xe_force_wake_get() failure handling (rev5)
URL : https://patchwork.freedesktop.org/series/137982/
State : success
== Summary ==
lib/modules/6.11.0-xe/kernel/sound/core/seq/
lib/modules/6.11.0-xe/kernel/sound/core/seq/snd-seq.ko
lib/modules/6.11.0-xe/kernel/sound/core/snd-seq-device.ko
lib/modules/6.11.0-xe/kernel/sound/core/snd-hwdep.ko
lib/modules/6.11.0-xe/kernel/sound/core/snd.ko
lib/modules/6.11.0-xe/kernel/sound/core/snd-pcm.ko
lib/modules/6.11.0-xe/kernel/sound/core/snd-compress.ko
lib/modules/6.11.0-xe/kernel/sound/core/snd-timer.ko
lib/modules/6.11.0-xe/kernel/sound/soundcore.ko
lib/modules/6.11.0-xe/kernel/sound/soc/
lib/modules/6.11.0-xe/kernel/sound/soc/intel/
lib/modules/6.11.0-xe/kernel/sound/soc/intel/atom/
lib/modules/6.11.0-xe/kernel/sound/soc/intel/atom/snd-soc-sst-atom-hifi2-platform.ko
lib/modules/6.11.0-xe/kernel/sound/soc/intel/atom/sst/
lib/modules/6.11.0-xe/kernel/sound/soc/intel/atom/sst/snd-intel-sst-acpi.ko
lib/modules/6.11.0-xe/kernel/sound/soc/intel/atom/sst/snd-intel-sst-core.ko
lib/modules/6.11.0-xe/kernel/sound/soc/intel/common/
lib/modules/6.11.0-xe/kernel/sound/soc/intel/common/snd-soc-acpi-intel-match.ko
lib/modules/6.11.0-xe/kernel/sound/soc/amd/
lib/modules/6.11.0-xe/kernel/sound/soc/amd/snd-acp-config.ko
lib/modules/6.11.0-xe/kernel/sound/soc/sof/
lib/modules/6.11.0-xe/kernel/sound/soc/sof/intel/
lib/modules/6.11.0-xe/kernel/sound/soc/sof/intel/snd-sof-pci-intel-tgl.ko
lib/modules/6.11.0-xe/kernel/sound/soc/sof/intel/snd-sof-intel-hda-mlink.ko
lib/modules/6.11.0-xe/kernel/sound/soc/sof/intel/snd-sof-pci-intel-cnl.ko
lib/modules/6.11.0-xe/kernel/sound/soc/sof/intel/snd-sof-pci-intel-lnl.ko
lib/modules/6.11.0-xe/kernel/sound/soc/sof/intel/snd-sof-intel-hda-common.ko
lib/modules/6.11.0-xe/kernel/sound/soc/sof/intel/snd-sof-intel-hda-generic.ko
lib/modules/6.11.0-xe/kernel/sound/soc/sof/intel/snd-sof-intel-hda.ko
lib/modules/6.11.0-xe/kernel/sound/soc/sof/intel/snd-sof-pci-intel-mtl.ko
lib/modules/6.11.0-xe/kernel/sound/soc/sof/amd/
lib/modules/6.11.0-xe/kernel/sound/soc/sof/amd/snd-sof-amd-renoir.ko
lib/modules/6.11.0-xe/kernel/sound/soc/sof/amd/snd-sof-amd-acp.ko
lib/modules/6.11.0-xe/kernel/sound/soc/sof/snd-sof-utils.ko
lib/modules/6.11.0-xe/kernel/sound/soc/sof/snd-sof-pci.ko
lib/modules/6.11.0-xe/kernel/sound/soc/sof/snd-sof.ko
lib/modules/6.11.0-xe/kernel/sound/soc/sof/snd-sof-probes.ko
lib/modules/6.11.0-xe/kernel/sound/soc/sof/xtensa/
lib/modules/6.11.0-xe/kernel/sound/soc/sof/xtensa/snd-sof-xtensa-dsp.ko
lib/modules/6.11.0-xe/kernel/sound/soc/snd-soc-core.ko
lib/modules/6.11.0-xe/kernel/sound/soc/snd-soc-acpi.ko
lib/modules/6.11.0-xe/kernel/sound/soc/codecs/
lib/modules/6.11.0-xe/kernel/sound/soc/codecs/snd-soc-hdac-hda.ko
lib/modules/6.11.0-xe/kernel/sound/hda/
lib/modules/6.11.0-xe/kernel/sound/hda/snd-intel-sdw-acpi.ko
lib/modules/6.11.0-xe/kernel/sound/hda/ext/
lib/modules/6.11.0-xe/kernel/sound/hda/ext/snd-hda-ext-core.ko
lib/modules/6.11.0-xe/kernel/sound/hda/snd-intel-dspcfg.ko
lib/modules/6.11.0-xe/kernel/sound/hda/snd-hda-core.ko
lib/modules/6.11.0-xe/kernel/arch/
lib/modules/6.11.0-xe/kernel/arch/x86/
lib/modules/6.11.0-xe/kernel/arch/x86/kernel/
lib/modules/6.11.0-xe/kernel/arch/x86/kernel/msr.ko
lib/modules/6.11.0-xe/kernel/arch/x86/kernel/cpuid.ko
lib/modules/6.11.0-xe/kernel/arch/x86/crypto/
lib/modules/6.11.0-xe/kernel/arch/x86/crypto/sha512-ssse3.ko
lib/modules/6.11.0-xe/kernel/arch/x86/crypto/crct10dif-pclmul.ko
lib/modules/6.11.0-xe/kernel/arch/x86/crypto/ghash-clmulni-intel.ko
lib/modules/6.11.0-xe/kernel/arch/x86/crypto/sha1-ssse3.ko
lib/modules/6.11.0-xe/kernel/arch/x86/crypto/crc32-pclmul.ko
lib/modules/6.11.0-xe/kernel/arch/x86/crypto/sha256-ssse3.ko
lib/modules/6.11.0-xe/kernel/arch/x86/crypto/aesni-intel.ko
lib/modules/6.11.0-xe/kernel/arch/x86/crypto/polyval-clmulni.ko
lib/modules/6.11.0-xe/kernel/arch/x86/events/
lib/modules/6.11.0-xe/kernel/arch/x86/events/intel/
lib/modules/6.11.0-xe/kernel/arch/x86/events/intel/intel-cstate.ko
lib/modules/6.11.0-xe/kernel/arch/x86/events/rapl.ko
lib/modules/6.11.0-xe/kernel/arch/x86/kvm/
lib/modules/6.11.0-xe/kernel/arch/x86/kvm/kvm.ko
lib/modules/6.11.0-xe/kernel/arch/x86/kvm/kvm-intel.ko
lib/modules/6.11.0-xe/kernel/crypto/
lib/modules/6.11.0-xe/kernel/crypto/crypto_simd.ko
lib/modules/6.11.0-xe/kernel/crypto/cmac.ko
lib/modules/6.11.0-xe/kernel/crypto/ccm.ko
lib/modules/6.11.0-xe/kernel/crypto/cryptd.ko
lib/modules/6.11.0-xe/kernel/crypto/polyval-generic.ko
lib/modules/6.11.0-xe/kernel/crypto/async_tx/
lib/modules/6.11.0-xe/kernel/crypto/async_tx/async_xor.ko
lib/modules/6.11.0-xe/kernel/crypto/async_tx/async_tx.ko
lib/modules/6.11.0-xe/kernel/crypto/async_tx/async_memcpy.ko
lib/modules/6.11.0-xe/kernel/crypto/async_tx/async_pq.ko
lib/modules/6.11.0-xe/kernel/crypto/async_tx/async_raid6_recov.ko
lib/modules/6.11.0-xe/build
lib/modules/6.11.0-xe/modules.alias.bin
lib/modules/6.11.0-xe/modules.builtin
lib/modules/6.11.0-xe/modules.softdep
lib/modules/6.11.0-xe/modules.alias
lib/modules/6.11.0-xe/modules.order
lib/modules/6.11.0-xe/modules.symbols
lib/modules/6.11.0-xe/modules.dep.bin
+ mv kernel-nodebug.tar.gz ..
+ cd ..
+ rm -rf archive
++ date +%s
+ echo -e '\e[0Ksection_end:1727313413:package_x86_64_nodebug\r\e[0K'
^[[0Ksection_end:1727313413:package_x86_64_nodebug
^[[0K
+ sync
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 46+ messages in thread* ✓ CI.Hooks: success for Fix xe_force_wake_get() failure handling (rev5)
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (26 preceding siblings ...)
2024-09-26 1:17 ` ✓ CI.Build: " Patchwork
@ 2024-09-26 1:19 ` Patchwork
2024-09-26 1:20 ` ✓ CI.checksparse: " Patchwork
` (2 subsequent siblings)
30 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2024-09-26 1:19 UTC (permalink / raw)
To: Ghimiray, Himal Prasad; +Cc: intel-xe
== Series Details ==
Series: Fix xe_force_wake_get() failure handling (rev5)
URL : https://patchwork.freedesktop.org/series/137982/
State : success
== Summary ==
run-parts: executing /workspace/ci/hooks/00-showenv
+ export
+ grep -Ei '(^|\W)CI_'
declare -x CI_KERNEL_BUILD_DIR="/workspace/kernel/build64-default"
declare -x CI_KERNEL_SRC_DIR="/workspace/kernel"
declare -x CI_TOOLS_SRC_DIR="/workspace/ci"
declare -x CI_WORKSPACE_DIR="/workspace"
run-parts: executing /workspace/ci/hooks/10-build-W1
+ SRC_DIR=/workspace/kernel
+ RESTORE_DISPLAY_CONFIG=0
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ cd /workspace/kernel
++ nproc
+ make -j48 O=/workspace/kernel/build64-default modules_prepare
make[1]: Entering directory '/workspace/kernel/build64-default'
GEN Makefile
UPD include/config/kernel.release
mkdir -p /workspace/kernel/build64-default/tools/objtool && make O=/workspace/kernel/build64-default subdir=tools/objtool --no-print-directory -C objtool
UPD include/generated/utsrelease.h
CALL ../scripts/checksyscalls.sh
HOSTCC /workspace/kernel/build64-default/tools/objtool/fixdep.o
HOSTLD /workspace/kernel/build64-default/tools/objtool/fixdep-in.o
LINK /workspace/kernel/build64-default/tools/objtool/fixdep
INSTALL libsubcmd_headers
CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/exec-cmd.o
CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/help.o
CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/pager.o
CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/parse-options.o
CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/run-command.o
CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/sigchain.o
CC /workspace/kernel/build64-default/tools/objtool/libsubcmd/subcmd-config.o
LD /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd-in.o
AR /workspace/kernel/build64-default/tools/objtool/libsubcmd/libsubcmd.a
CC /workspace/kernel/build64-default/tools/objtool/weak.o
CC /workspace/kernel/build64-default/tools/objtool/check.o
CC /workspace/kernel/build64-default/tools/objtool/special.o
CC /workspace/kernel/build64-default/tools/objtool/builtin-check.o
CC /workspace/kernel/build64-default/tools/objtool/elf.o
CC /workspace/kernel/build64-default/tools/objtool/objtool.o
CC /workspace/kernel/build64-default/tools/objtool/orc_gen.o
CC /workspace/kernel/build64-default/tools/objtool/orc_dump.o
CC /workspace/kernel/build64-default/tools/objtool/libstring.o
CC /workspace/kernel/build64-default/tools/objtool/arch/x86/special.o
CC /workspace/kernel/build64-default/tools/objtool/libctype.o
CC /workspace/kernel/build64-default/tools/objtool/str_error_r.o
CC /workspace/kernel/build64-default/tools/objtool/librbtree.o
CC /workspace/kernel/build64-default/tools/objtool/arch/x86/decode.o
CC /workspace/kernel/build64-default/tools/objtool/arch/x86/orc.o
LD /workspace/kernel/build64-default/tools/objtool/arch/x86/objtool-in.o
LD /workspace/kernel/build64-default/tools/objtool/objtool-in.o
LINK /workspace/kernel/build64-default/tools/objtool/objtool
make[1]: Leaving directory '/workspace/kernel/build64-default'
++ nproc
+ make -j48 O=/workspace/kernel/build64-default W=1 drivers/gpu/drm/xe
make[1]: Entering directory '/workspace/kernel/build64-default'
make[2]: Nothing to be done for 'drivers/gpu/drm/xe'.
make[1]: Leaving directory '/workspace/kernel/build64-default'
run-parts: executing /workspace/ci/hooks/11-build-32b
+++ realpath /workspace/ci/hooks/11-build-32b
++ dirname /workspace/ci/hooks/11-build-32b
+ THIS_SCRIPT_DIR=/workspace/ci/hooks
+ SRC_DIR=/workspace/kernel
+ TOOLS_SRC_DIR=/workspace/ci
+ '[' -n /workspace/kernel/build64-default ']'
+ BUILD_DIR=/workspace/kernel/build64-default
+ BUILD_DIR=/workspace/kernel/build64-default/build32
+ cd /workspace/kernel
+ mkdir -p /workspace/kernel/build64-default/build32
++ nproc
+ make -j48 ARCH=i386 O=/workspace/kernel/build64-default/build32 defconfig
make[1]: Entering directory '/workspace/kernel/build64-default/build32'
GEN Makefile
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/confdata.o
HOSTCC scripts/kconfig/expr.o
YACC scripts/kconfig/parser.tab.[ch]
LEX scripts/kconfig/lexer.lex.c
HOSTCC scripts/kconfig/menu.o
HOSTCC scripts/kconfig/preprocess.o
HOSTCC scripts/kconfig/symbol.o
HOSTCC scripts/kconfig/util.o
HOSTCC scripts/kconfig/lexer.lex.o
HOSTCC scripts/kconfig/parser.tab.o
HOSTLD scripts/kconfig/conf
*** Default configuration is based on 'i386_defconfig'
#
# configuration written to .config
#
make[1]: Leaving directory '/workspace/kernel/build64-default/build32'
+ cd /workspace/kernel/build64-default/build32
+ /workspace/kernel/scripts/kconfig/merge_config.sh .config /workspace/ci/kernel/10-xe.fragment
Using .config as base
Merging /workspace/ci/kernel/10-xe.fragment
Value of CONFIG_DRM_XE is redefined by fragment /workspace/ci/kernel/10-xe.fragment:
Previous value: # CONFIG_DRM_XE is not set
New value: CONFIG_DRM_XE=m
Value of CONFIG_SND_DEBUG is redefined by fragment /workspace/ci/kernel/10-xe.fragment:
Previous value: # CONFIG_SND_DEBUG is not set
New value: CONFIG_SND_DEBUG=y
Value of CONFIG_SND_HDA_INTEL is redefined by fragment /workspace/ci/kernel/10-xe.fragment:
Previous value: CONFIG_SND_HDA_INTEL=y
New value: CONFIG_SND_HDA_INTEL=m
Value of CONFIG_SND_HDA_CODEC_HDMI is redefined by fragment /workspace/ci/kernel/10-xe.fragment:
Previous value: # CONFIG_SND_HDA_CODEC_HDMI is not set
New value: CONFIG_SND_HDA_CODEC_HDMI=m
GEN Makefile
WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
Selected by [m]:
- DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m]
#
# configuration written to .config
#
Value requested for CONFIG_HAVE_UID16 not in final .config
Requested value: CONFIG_HAVE_UID16=y
Actual value:
Value requested for CONFIG_UID16 not in final .config
Requested value: CONFIG_UID16=y
Actual value:
Value requested for CONFIG_X86_32 not in final .config
Requested value: CONFIG_X86_32=y
Actual value:
Value requested for CONFIG_OUTPUT_FORMAT not in final .config
Requested value: CONFIG_OUTPUT_FORMAT="elf32-i386"
Actual value: CONFIG_OUTPUT_FORMAT="elf64-x86-64"
Value requested for CONFIG_ARCH_MMAP_RND_BITS_MIN not in final .config
Requested value: CONFIG_ARCH_MMAP_RND_BITS_MIN=8
Actual value: CONFIG_ARCH_MMAP_RND_BITS_MIN=28
Value requested for CONFIG_ARCH_MMAP_RND_BITS_MAX not in final .config
Requested value: CONFIG_ARCH_MMAP_RND_BITS_MAX=16
Actual value: CONFIG_ARCH_MMAP_RND_BITS_MAX=32
Value requested for CONFIG_PGTABLE_LEVELS not in final .config
Requested value: CONFIG_PGTABLE_LEVELS=2
Actual value: CONFIG_PGTABLE_LEVELS=5
Value requested for CONFIG_X86_BIGSMP not in final .config
Requested value: # CONFIG_X86_BIGSMP is not set
Actual value:
Value requested for CONFIG_X86_INTEL_QUARK not in final .config
Requested value: # CONFIG_X86_INTEL_QUARK is not set
Actual value:
Value requested for CONFIG_X86_RDC321X not in final .config
Requested value: # CONFIG_X86_RDC321X is not set
Actual value:
Value requested for CONFIG_X86_32_NON_STANDARD not in final .config
Requested value: # CONFIG_X86_32_NON_STANDARD is not set
Actual value:
Value requested for CONFIG_X86_32_IRIS not in final .config
Requested value: # CONFIG_X86_32_IRIS is not set
Actual value:
Value requested for CONFIG_M486SX not in final .config
Requested value: # CONFIG_M486SX is not set
Actual value:
Value requested for CONFIG_M486 not in final .config
Requested value: # CONFIG_M486 is not set
Actual value:
Value requested for CONFIG_M586 not in final .config
Requested value: # CONFIG_M586 is not set
Actual value:
Value requested for CONFIG_M586TSC not in final .config
Requested value: # CONFIG_M586TSC is not set
Actual value:
Value requested for CONFIG_M586MMX not in final .config
Requested value: # CONFIG_M586MMX is not set
Actual value:
Value requested for CONFIG_M686 not in final .config
Requested value: CONFIG_M686=y
Actual value:
Value requested for CONFIG_MPENTIUMII not in final .config
Requested value: # CONFIG_MPENTIUMII is not set
Actual value:
Value requested for CONFIG_MPENTIUMIII not in final .config
Requested value: # CONFIG_MPENTIUMIII is not set
Actual value:
Value requested for CONFIG_MPENTIUMM not in final .config
Requested value: # CONFIG_MPENTIUMM is not set
Actual value:
Value requested for CONFIG_MPENTIUM4 not in final .config
Requested value: # CONFIG_MPENTIUM4 is not set
Actual value:
Value requested for CONFIG_MK6 not in final .config
Requested value: # CONFIG_MK6 is not set
Actual value:
Value requested for CONFIG_MK7 not in final .config
Requested value: # CONFIG_MK7 is not set
Actual value:
Value requested for CONFIG_MCRUSOE not in final .config
Requested value: # CONFIG_MCRUSOE is not set
Actual value:
Value requested for CONFIG_MEFFICEON not in final .config
Requested value: # CONFIG_MEFFICEON is not set
Actual value:
Value requested for CONFIG_MWINCHIPC6 not in final .config
Requested value: # CONFIG_MWINCHIPC6 is not set
Actual value:
Value requested for CONFIG_MWINCHIP3D not in final .config
Requested value: # CONFIG_MWINCHIP3D is not set
Actual value:
Value requested for CONFIG_MELAN not in final .config
Requested value: # CONFIG_MELAN is not set
Actual value:
Value requested for CONFIG_MGEODEGX1 not in final .config
Requested value: # CONFIG_MGEODEGX1 is not set
Actual value:
Value requested for CONFIG_MGEODE_LX not in final .config
Requested value: # CONFIG_MGEODE_LX is not set
Actual value:
Value requested for CONFIG_MCYRIXIII not in final .config
Requested value: # CONFIG_MCYRIXIII is not set
Actual value:
Value requested for CONFIG_MVIAC3_2 not in final .config
Requested value: # CONFIG_MVIAC3_2 is not set
Actual value:
Value requested for CONFIG_MVIAC7 not in final .config
Requested value: # CONFIG_MVIAC7 is not set
Actual value:
Value requested for CONFIG_X86_GENERIC not in final .config
Requested value: # CONFIG_X86_GENERIC is not set
Actual value:
Value requested for CONFIG_X86_INTERNODE_CACHE_SHIFT not in final .config
Requested value: CONFIG_X86_INTERNODE_CACHE_SHIFT=5
Actual value: CONFIG_X86_INTERNODE_CACHE_SHIFT=6
Value requested for CONFIG_X86_L1_CACHE_SHIFT not in final .config
Requested value: CONFIG_X86_L1_CACHE_SHIFT=5
Actual value: CONFIG_X86_L1_CACHE_SHIFT=6
Value requested for CONFIG_X86_USE_PPRO_CHECKSUM not in final .config
Requested value: CONFIG_X86_USE_PPRO_CHECKSUM=y
Actual value:
Value requested for CONFIG_X86_MINIMUM_CPU_FAMILY not in final .config
Requested value: CONFIG_X86_MINIMUM_CPU_FAMILY=6
Actual value: CONFIG_X86_MINIMUM_CPU_FAMILY=64
Value requested for CONFIG_CPU_SUP_TRANSMETA_32 not in final .config
Requested value: CONFIG_CPU_SUP_TRANSMETA_32=y
Actual value:
Value requested for CONFIG_CPU_SUP_VORTEX_32 not in final .config
Requested value: CONFIG_CPU_SUP_VORTEX_32=y
Actual value:
Value requested for CONFIG_HPET_TIMER not in final .config
Requested value: # CONFIG_HPET_TIMER is not set
Actual value: CONFIG_HPET_TIMER=y
Value requested for CONFIG_NR_CPUS_RANGE_END not in final .config
Requested value: CONFIG_NR_CPUS_RANGE_END=8
Actual value: CONFIG_NR_CPUS_RANGE_END=512
Value requested for CONFIG_NR_CPUS_DEFAULT not in final .config
Requested value: CONFIG_NR_CPUS_DEFAULT=8
Actual value: CONFIG_NR_CPUS_DEFAULT=64
Value requested for CONFIG_X86_ANCIENT_MCE not in final .config
Requested value: # CONFIG_X86_ANCIENT_MCE is not set
Actual value:
Value requested for CONFIG_X86_LEGACY_VM86 not in final .config
Requested value: # CONFIG_X86_LEGACY_VM86 is not set
Actual value:
Value requested for CONFIG_X86_ESPFIX32 not in final .config
Requested value: CONFIG_X86_ESPFIX32=y
Actual value:
Value requested for CONFIG_TOSHIBA not in final .config
Requested value: # CONFIG_TOSHIBA is not set
Actual value:
Value requested for CONFIG_X86_REBOOTFIXUPS not in final .config
Requested value: # CONFIG_X86_REBOOTFIXUPS is not set
Actual value:
Value requested for CONFIG_MICROCODE_INITRD32 not in final .config
Requested value: CONFIG_MICROCODE_INITRD32=y
Actual value:
Value requested for CONFIG_NOHIGHMEM not in final .config
Requested value: # CONFIG_NOHIGHMEM is not set
Actual value:
Value requested for CONFIG_HIGHMEM4G not in final .config
Requested value: CONFIG_HIGHMEM4G=y
Actual value:
Value requested for CONFIG_HIGHMEM64G not in final .config
Requested value: # CONFIG_HIGHMEM64G is not set
Actual value:
Value requested for CONFIG_VMSPLIT_3G not in final .config
Requested value: CONFIG_VMSPLIT_3G=y
Actual value:
Value requested for CONFIG_VMSPLIT_3G_OPT not in final .config
Requested value: # CONFIG_VMSPLIT_3G_OPT is not set
Actual value:
Value requested for CONFIG_VMSPLIT_2G not in final .config
Requested value: # CONFIG_VMSPLIT_2G is not set
Actual value:
Value requested for CONFIG_VMSPLIT_2G_OPT not in final .config
Requested value: # CONFIG_VMSPLIT_2G_OPT is not set
Actual value:
Value requested for CONFIG_VMSPLIT_1G not in final .config
Requested value: # CONFIG_VMSPLIT_1G is not set
Actual value:
Value requested for CONFIG_PAGE_OFFSET not in final .config
Requested value: CONFIG_PAGE_OFFSET=0xC0000000
Actual value:
Value requested for CONFIG_HIGHMEM not in final .config
Requested value: CONFIG_HIGHMEM=y
Actual value:
Value requested for CONFIG_X86_PAE not in final .config
Requested value: # CONFIG_X86_PAE is not set
Actual value:
Value requested for CONFIG_ARCH_FLATMEM_ENABLE not in final .config
Requested value: CONFIG_ARCH_FLATMEM_ENABLE=y
Actual value:
Value requested for CONFIG_ARCH_SELECT_MEMORY_MODEL not in final .config
Requested value: CONFIG_ARCH_SELECT_MEMORY_MODEL=y
Actual value:
Value requested for CONFIG_ILLEGAL_POINTER_VALUE not in final .config
Requested value: CONFIG_ILLEGAL_POINTER_VALUE=0
Actual value: CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
Value requested for CONFIG_HIGHPTE not in final .config
Requested value: # CONFIG_HIGHPTE is not set
Actual value:
Value requested for CONFIG_COMPAT_VDSO not in final .config
Requested value: # CONFIG_COMPAT_VDSO is not set
Actual value:
Value requested for CONFIG_FUNCTION_PADDING_CFI not in final .config
Requested value: CONFIG_FUNCTION_PADDING_CFI=0
Actual value: CONFIG_FUNCTION_PADDING_CFI=11
Value requested for CONFIG_FUNCTION_PADDING_BYTES not in final .config
Requested value: CONFIG_FUNCTION_PADDING_BYTES=4
Actual value: CONFIG_FUNCTION_PADDING_BYTES=16
Value requested for CONFIG_APM not in final .config
Requested value: # CONFIG_APM is not set
Actual value:
Value requested for CONFIG_X86_POWERNOW_K6 not in final .config
Requested value: # CONFIG_X86_POWERNOW_K6 is not set
Actual value:
Value requested for CONFIG_X86_POWERNOW_K7 not in final .config
Requested value: # CONFIG_X86_POWERNOW_K7 is not set
Actual value:
Value requested for CONFIG_X86_GX_SUSPMOD not in final .config
Requested value: # CONFIG_X86_GX_SUSPMOD is not set
Actual value:
Value requested for CONFIG_X86_SPEEDSTEP_ICH not in final .config
Requested value: # CONFIG_X86_SPEEDSTEP_ICH is not set
Actual value:
Value requested for CONFIG_X86_SPEEDSTEP_SMI not in final .config
Requested value: # CONFIG_X86_SPEEDSTEP_SMI is not set
Actual value:
Value requested for CONFIG_X86_CPUFREQ_NFORCE2 not in final .config
Requested value: # CONFIG_X86_CPUFREQ_NFORCE2 is not set
Actual value:
Value requested for CONFIG_X86_LONGRUN not in final .config
Requested value: # CONFIG_X86_LONGRUN is not set
Actual value:
Value requested for CONFIG_X86_LONGHAUL not in final .config
Requested value: # CONFIG_X86_LONGHAUL is not set
Actual value:
Value requested for CONFIG_X86_E_POWERSAVER not in final .config
Requested value: # CONFIG_X86_E_POWERSAVER is not set
Actual value:
Value requested for CONFIG_PCI_GOBIOS not in final .config
Requested value: # CONFIG_PCI_GOBIOS is not set
Actual value:
Value requested for CONFIG_PCI_GOMMCONFIG not in final .config
Requested value: # CONFIG_PCI_GOMMCONFIG is not set
Actual value:
Value requested for CONFIG_PCI_GODIRECT not in final .config
Requested value: # CONFIG_PCI_GODIRECT is not set
Actual value:
Value requested for CONFIG_PCI_GOANY not in final .config
Requested value: CONFIG_PCI_GOANY=y
Actual value:
Value requested for CONFIG_PCI_BIOS not in final .config
Requested value: CONFIG_PCI_BIOS=y
Actual value:
Value requested for CONFIG_ISA not in final .config
Requested value: # CONFIG_ISA is not set
Actual value:
Value requested for CONFIG_SCx200 not in final .config
Requested value: # CONFIG_SCx200 is not set
Actual value:
Value requested for CONFIG_OLPC not in final .config
Requested value: # CONFIG_OLPC is not set
Actual value:
Value requested for CONFIG_ALIX not in final .config
Requested value: # CONFIG_ALIX is not set
Actual value:
Value requested for CONFIG_NET5501 not in final .config
Requested value: # CONFIG_NET5501 is not set
Actual value:
Value requested for CONFIG_GEOS not in final .config
Requested value: # CONFIG_GEOS is not set
Actual value:
Value requested for CONFIG_COMPAT_32 not in final .config
Requested value: CONFIG_COMPAT_32=y
Actual value:
Value requested for CONFIG_HAVE_ATOMIC_IOMAP not in final .config
Requested value: CONFIG_HAVE_ATOMIC_IOMAP=y
Actual value:
Value requested for CONFIG_ARCH_32BIT_OFF_T not in final .config
Requested value: CONFIG_ARCH_32BIT_OFF_T=y
Actual value:
Value requested for CONFIG_ARCH_WANT_IPC_PARSE_VERSION not in final .config
Requested value: CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
Actual value:
Value requested for CONFIG_MODULES_USE_ELF_REL not in final .config
Requested value: CONFIG_MODULES_USE_ELF_REL=y
Actual value:
Value requested for CONFIG_ARCH_MMAP_RND_BITS not in final .config
Requested value: CONFIG_ARCH_MMAP_RND_BITS=8
Actual value: CONFIG_ARCH_MMAP_RND_BITS=28
Value requested for CONFIG_CLONE_BACKWARDS not in final .config
Requested value: CONFIG_CLONE_BACKWARDS=y
Actual value:
Value requested for CONFIG_OLD_SIGSUSPEND3 not in final .config
Requested value: CONFIG_OLD_SIGSUSPEND3=y
Actual value:
Value requested for CONFIG_OLD_SIGACTION not in final .config
Requested value: CONFIG_OLD_SIGACTION=y
Actual value:
Value requested for CONFIG_ARCH_SPLIT_ARG64 not in final .config
Requested value: CONFIG_ARCH_SPLIT_ARG64=y
Actual value:
Value requested for CONFIG_FUNCTION_ALIGNMENT not in final .config
Requested value: CONFIG_FUNCTION_ALIGNMENT=4
Actual value: CONFIG_FUNCTION_ALIGNMENT=16
Value requested for CONFIG_SELECT_MEMORY_MODEL not in final .config
Requested value: CONFIG_SELECT_MEMORY_MODEL=y
Actual value:
Value requested for CONFIG_FLATMEM_MANUAL not in final .config
Requested value: CONFIG_FLATMEM_MANUAL=y
Actual value:
Value requested for CONFIG_SPARSEMEM_MANUAL not in final .config
Requested value: # CONFIG_SPARSEMEM_MANUAL is not set
Actual value:
Value requested for CONFIG_FLATMEM not in final .config
Requested value: CONFIG_FLATMEM=y
Actual value:
Value requested for CONFIG_SPARSEMEM_STATIC not in final .config
Requested value: CONFIG_SPARSEMEM_STATIC=y
Actual value:
Value requested for CONFIG_BOUNCE not in final .config
Requested value: CONFIG_BOUNCE=y
Actual value:
Value requested for CONFIG_KMAP_LOCAL not in final .config
Requested value: CONFIG_KMAP_LOCAL=y
Actual value:
Value requested for CONFIG_HOTPLUG_PCI_COMPAQ not in final .config
Requested value: # CONFIG_HOTPLUG_PCI_COMPAQ is not set
Actual value:
Value requested for CONFIG_HOTPLUG_PCI_IBM not in final .config
Requested value: # CONFIG_HOTPLUG_PCI_IBM is not set
Actual value:
Value requested for CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH not in final .config
Requested value: CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH=y
Actual value:
Value requested for CONFIG_PCH_PHUB not in final .config
Requested value: # CONFIG_PCH_PHUB is not set
Actual value:
Value requested for CONFIG_SCSI_NSP32 not in final .config
Requested value: # CONFIG_SCSI_NSP32 is not set
Actual value:
Value requested for CONFIG_PATA_CS5520 not in final .config
Requested value: # CONFIG_PATA_CS5520 is not set
Actual value:
Value requested for CONFIG_PATA_CS5530 not in final .config
Requested value: # CONFIG_PATA_CS5530 is not set
Actual value:
Value requested for CONFIG_PATA_CS5535 not in final .config
Requested value: # CONFIG_PATA_CS5535 is not set
Actual value:
Value requested for CONFIG_PATA_CS5536 not in final .config
Requested value: # CONFIG_PATA_CS5536 is not set
Actual value:
Value requested for CONFIG_PATA_SC1200 not in final .config
Requested value: # CONFIG_PATA_SC1200 is not set
Actual value:
Value requested for CONFIG_PCH_GBE not in final .config
Requested value: # CONFIG_PCH_GBE is not set
Actual value:
Value requested for CONFIG_INPUT_WISTRON_BTNS not in final .config
Requested value: # CONFIG_INPUT_WISTRON_BTNS is not set
Actual value:
Value requested for CONFIG_SERIAL_TIMBERDALE not in final .config
Requested value: # CONFIG_SERIAL_TIMBERDALE is not set
Actual value:
Value requested for CONFIG_SERIAL_PCH_UART not in final .config
Requested value: # CONFIG_SERIAL_PCH_UART is not set
Actual value:
Value requested for CONFIG_HW_RANDOM_GEODE not in final .config
Requested value: CONFIG_HW_RANDOM_GEODE=y
Actual value:
Value requested for CONFIG_SONYPI not in final .config
Requested value: # CONFIG_SONYPI is not set
Actual value:
Value requested for CONFIG_PC8736x_GPIO not in final .config
Requested value: # CONFIG_PC8736x_GPIO is not set
Actual value:
Value requested for CONFIG_NSC_GPIO not in final .config
Requested value: # CONFIG_NSC_GPIO is not set
Actual value:
Value requested for CONFIG_I2C_EG20T not in final .config
Requested value: # CONFIG_I2C_EG20T is not set
Actual value:
Value requested for CONFIG_SCx200_ACB not in final .config
Requested value: # CONFIG_SCx200_ACB is not set
Actual value:
Value requested for CONFIG_PTP_1588_CLOCK_PCH not in final .config
Requested value: # CONFIG_PTP_1588_CLOCK_PCH is not set
Actual value:
Value requested for CONFIG_SBC8360_WDT not in final .config
Requested value: # CONFIG_SBC8360_WDT is not set
Actual value:
Value requested for CONFIG_SBC7240_WDT not in final .config
Requested value: # CONFIG_SBC7240_WDT is not set
Actual value:
Value requested for CONFIG_MFD_CS5535 not in final .config
Requested value: # CONFIG_MFD_CS5535 is not set
Actual value:
Value requested for CONFIG_AGP_ALI not in final .config
Requested value: # CONFIG_AGP_ALI is not set
Actual value:
Value requested for CONFIG_AGP_ATI not in final .config
Requested value: # CONFIG_AGP_ATI is not set
Actual value:
Value requested for CONFIG_AGP_AMD not in final .config
Requested value: # CONFIG_AGP_AMD is not set
Actual value:
Value requested for CONFIG_AGP_NVIDIA not in final .config
Requested value: # CONFIG_AGP_NVIDIA is not set
Actual value:
Value requested for CONFIG_AGP_SWORKS not in final .config
Requested value: # CONFIG_AGP_SWORKS is not set
Actual value:
Value requested for CONFIG_AGP_EFFICEON not in final .config
Requested value: # CONFIG_AGP_EFFICEON is not set
Actual value:
Value requested for CONFIG_SND_PCM not in final .config
Requested value: CONFIG_SND_PCM=y
Actual value: CONFIG_SND_PCM=m
Value requested for CONFIG_SND_HWDEP not in final .config
Requested value: CONFIG_SND_HWDEP=y
Actual value: CONFIG_SND_HWDEP=m
Value requested for CONFIG_SND_DYNAMIC_MINORS not in final .config
Requested value: # CONFIG_SND_DYNAMIC_MINORS is not set
Actual value: CONFIG_SND_DYNAMIC_MINORS=y
Value requested for CONFIG_SND_CS5530 not in final .config
Requested value: # CONFIG_SND_CS5530 is not set
Actual value:
Value requested for CONFIG_SND_CS5535AUDIO not in final .config
Requested value: # CONFIG_SND_CS5535AUDIO is not set
Actual value:
Value requested for CONFIG_SND_SIS7019 not in final .config
Requested value: # CONFIG_SND_SIS7019 is not set
Actual value:
Value requested for CONFIG_SND_HDA not in final .config
Requested value: CONFIG_SND_HDA=y
Actual value: CONFIG_SND_HDA=m
Value requested for CONFIG_SND_HDA_CORE not in final .config
Requested value: CONFIG_SND_HDA_CORE=y
Actual value: CONFIG_SND_HDA_CORE=m
Value requested for CONFIG_SND_INTEL_DSP_CONFIG not in final .config
Requested value: CONFIG_SND_INTEL_DSP_CONFIG=y
Actual value: CONFIG_SND_INTEL_DSP_CONFIG=m
Value requested for CONFIG_SND_INTEL_SOUNDWIRE_ACPI not in final .config
Requested value: CONFIG_SND_INTEL_SOUNDWIRE_ACPI=y
Actual value: CONFIG_SND_INTEL_SOUNDWIRE_ACPI=m
Value requested for CONFIG_LEDS_OT200 not in final .config
Requested value: # CONFIG_LEDS_OT200 is not set
Actual value:
Value requested for CONFIG_PCH_DMA not in final .config
Requested value: # CONFIG_PCH_DMA is not set
Actual value:
Value requested for CONFIG_CLKSRC_I8253 not in final .config
Requested value: CONFIG_CLKSRC_I8253=y
Actual value:
Value requested for CONFIG_MAILBOX not in final .config
Requested value: # CONFIG_MAILBOX is not set
Actual value: CONFIG_MAILBOX=y
Value requested for CONFIG_CRYPTO_SERPENT_SSE2_586 not in final .config
Requested value: # CONFIG_CRYPTO_SERPENT_SSE2_586 is not set
Actual value:
Value requested for CONFIG_CRYPTO_TWOFISH_586 not in final .config
Requested value: # CONFIG_CRYPTO_TWOFISH_586 is not set
Actual value:
Value requested for CONFIG_CRYPTO_DEV_GEODE not in final .config
Requested value: # CONFIG_CRYPTO_DEV_GEODE is not set
Actual value:
Value requested for CONFIG_CRYPTO_DEV_HIFN_795X not in final .config
Requested value: # CONFIG_CRYPTO_DEV_HIFN_795X is not set
Actual value:
Value requested for CONFIG_CRYPTO_LIB_POLY1305_RSIZE not in final .config
Requested value: CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1
Actual value: CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
Value requested for CONFIG_AUDIT_GENERIC not in final .config
Requested value: CONFIG_AUDIT_GENERIC=y
Actual value:
Value requested for CONFIG_GENERIC_VDSO_32 not in final .config
Requested value: CONFIG_GENERIC_VDSO_32=y
Actual value:
Value requested for CONFIG_DEBUG_KMAP_LOCAL not in final .config
Requested value: # CONFIG_DEBUG_KMAP_LOCAL is not set
Actual value:
Value requested for CONFIG_DEBUG_HIGHMEM not in final .config
Requested value: # CONFIG_DEBUG_HIGHMEM is not set
Actual value:
Value requested for CONFIG_HAVE_DEBUG_STACKOVERFLOW not in final .config
Requested value: CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
Actual value:
Value requested for CONFIG_DEBUG_STACKOVERFLOW not in final .config
Requested value: # CONFIG_DEBUG_STACKOVERFLOW is not set
Actual value:
Value requested for CONFIG_HAVE_FUNCTION_GRAPH_TRACER not in final .config
Requested value: CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
Actual value:
Value requested for CONFIG_HAVE_FUNCTION_GRAPH_RETVAL not in final .config
Requested value: CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y
Actual value:
Value requested for CONFIG_DRM_KUNIT_TEST not in final .config
Requested value: CONFIG_DRM_KUNIT_TEST=m
Actual value:
Value requested for CONFIG_DRM_XE_WERROR not in final .config
Requested value: CONFIG_DRM_XE_WERROR=y
Actual value:
Value requested for CONFIG_DRM_XE_DEBUG not in final .config
Requested value: CONFIG_DRM_XE_DEBUG=y
Actual value:
Value requested for CONFIG_DRM_XE_DEBUG_MEM not in final .config
Requested value: CONFIG_DRM_XE_DEBUG_MEM=y
Actual value:
Value requested for CONFIG_DRM_XE_KUNIT_TEST not in final .config
Requested value: CONFIG_DRM_XE_KUNIT_TEST=m
Actual value:
++ nproc
+ make -j48 ARCH=i386 olddefconfig
GEN Makefile
WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
Selected by [m]:
- DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m]
#
# configuration written to .config
#
++ nproc
+ make -j48 ARCH=i386
SYNC include/config/auto.conf.cmd
GEN Makefile
WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
Selected by [m]:
- DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m]
WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
Selected by [m]:
- DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m]
WARNING: unmet direct dependencies detected for FB_IOMEM_HELPERS
Depends on [n]: HAS_IOMEM [=y] && FB_CORE [=n]
Selected by [m]:
- DRM_XE_DISPLAY [=y] && HAS_IOMEM [=y] && DRM [=y] && DRM_XE [=m] && DRM_XE [=m]=m [=m]
GEN Makefile
WRAP arch/x86/include/generated/uapi/asm/bpf_perf_event.h
UPD include/generated/uapi/linux/version.h
WRAP arch/x86/include/generated/uapi/asm/fcntl.h
WRAP arch/x86/include/generated/uapi/asm/errno.h
WRAP arch/x86/include/generated/uapi/asm/ioctls.h
WRAP arch/x86/include/generated/uapi/asm/ioctl.h
WRAP arch/x86/include/generated/uapi/asm/param.h
WRAP arch/x86/include/generated/uapi/asm/ipcbuf.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_32.h
WRAP arch/x86/include/generated/uapi/asm/poll.h
WRAP arch/x86/include/generated/uapi/asm/resource.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_64.h
SYSHDR arch/x86/include/generated/uapi/asm/unistd_x32.h
SYSTBL arch/x86/include/generated/asm/syscalls_32.h
WRAP arch/x86/include/generated/uapi/asm/sockios.h
WRAP arch/x86/include/generated/uapi/asm/socket.h
WRAP arch/x86/include/generated/uapi/asm/termbits.h
WRAP arch/x86/include/generated/uapi/asm/termios.h
WRAP arch/x86/include/generated/uapi/asm/types.h
HOSTCC arch/x86/tools/relocs_32.o
HOSTCC arch/x86/tools/relocs_64.o
UPD include/generated/compile.h
HOSTCC arch/x86/tools/relocs_common.o
WRAP arch/x86/include/generated/asm/early_ioremap.h
HOSTCC scripts/kallsyms
WRAP arch/x86/include/generated/asm/mcs_spinlock.h
WRAP arch/x86/include/generated/asm/irq_regs.h
HOSTCC scripts/sorttable
WRAP arch/x86/include/generated/asm/kmap_size.h
HOSTCC scripts/asn1_compiler
WRAP arch/x86/include/generated/asm/local64.h
WRAP arch/x86/include/generated/asm/mmiowb.h
WRAP arch/x86/include/generated/asm/module.lds.h
WRAP arch/x86/include/generated/asm/rwonce.h
WRAP arch/x86/include/generated/asm/unaligned.h
HOSTCC scripts/selinux/genheaders/genheaders
HOSTCC scripts/selinux/mdp/mdp
HOSTLD arch/x86/tools/relocs
UPD include/config/kernel.release
UPD include/generated/utsrelease.h
CC scripts/mod/empty.o
HOSTCC scripts/mod/mk_elfconfig
CC scripts/mod/devicetable-offsets.s
UPD scripts/mod/devicetable-offsets.h
MKELF scripts/mod/elfconfig.h
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/sumversion.o
HOSTCC scripts/mod/symsearch.o
HOSTLD scripts/mod/modpost
CC kernel/bounds.s
CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-arch-fallback.h
CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-instrumented.h
CHKSHA1 /workspace/kernel/include/linux/atomic/atomic-long.h
UPD include/generated/timeconst.h
UPD include/generated/bounds.h
CC arch/x86/kernel/asm-offsets.s
UPD include/generated/asm-offsets.h
CALL /workspace/kernel/scripts/checksyscalls.sh
LDS scripts/module.lds
HOSTCC usr/gen_init_cpio
CC init/main.o
CC certs/system_keyring.o
CC init/do_mounts.o
CC ipc/util.o
CC init/do_mounts_initrd.o
UPD init/utsversion-tmp.h
CC ipc/msgutil.o
CC init/initramfs.o
CC security/commoncap.o
CC ipc/msg.o
CC mm/filemap.o
CC init/calibrate.o
AS arch/x86/entry/entry.o
CC arch/x86/realmode/init.o
CC security/lsm_syscalls.o
CC ipc/sem.o
AS arch/x86/lib/atomic64_cx8_32.o
CC io_uring/io_uring.o
AS arch/x86/entry/entry_32.o
CC block/bdev.o
CC mm/mempool.o
CC init/init_task.o
AR arch/x86/crypto/built-in.a
CC security/keys/gc.o
CC arch/x86/power/cpu.o
CC arch/x86/video/video-common.o
CC arch/x86/pci/i386.o
AR arch/x86/net/built-in.a
CC security/integrity/iint.o
GEN security/selinux/flask.h security/selinux/av_permissions.h
AR arch/x86/entry/vsyscall/built-in.a
AR virt/lib/built-in.a
CC block/partitions/core.o
CC fs/nfs_common/nfsacl.o
AS arch/x86/realmode/rm/header.o
CC arch/x86/events/amd/core.o
AR arch/x86/platform/atom/built-in.a
CC arch/x86/mm/pat/set_memory.o
CC lib/math/div64.o
AS arch/x86/realmode/rm/trampoline_32.o
CC arch/x86/pci/init.o
CC lib/math/gcd.o
CC security/selinux/avc.o
AR arch/x86/virt/svm/built-in.a
CC arch/x86/kernel/fpu/init.o
CC fs/notify/dnotify/dnotify.o
CC net/core/sock.o
AR drivers/cache/built-in.a
AR virt/built-in.a
CC sound/core/seq/seq.o
AR arch/x86/platform/ce4100/built-in.a
HOSTCC certs/extract-cert
AS arch/x86/lib/checksum_32.o
AR arch/x86/virt/vmx/built-in.a
AR drivers/irqchip/built-in.a
CC arch/x86/entry/vdso/vma.o
CC arch/x86/entry/vdso/extable.o
AS arch/x86/realmode/rm/stack.o
AR arch/x86/virt/built-in.a
CC arch/x86/platform/efi/memmap.o
AR sound/i2c/other/built-in.a
AR drivers/bus/mhi/built-in.a
AR sound/i2c/built-in.a
CC kernel/sched/core.o
CC ipc/shm.o
AR arch/x86/platform/geode/built-in.a
AR drivers/bus/built-in.a
CC arch/x86/lib/cmdline.o
AS arch/x86/realmode/rm/reboot.o
CC arch/x86/mm/init.o
CC sound/core/sound.o
CC crypto/asymmetric_keys/asymmetric_type.o
AR drivers/pwm/built-in.a
AS arch/x86/realmode/rm/wakeup_asm.o
CC drivers/pci/msi/pcidev_msi.o
CC arch/x86/events/intel/core.o
CC arch/x86/realmode/rm/wakemain.o
CC lib/math/lcm.o
AS arch/x86/lib/cmpxchg8b_emu.o
CC arch/x86/realmode/rm/video-mode.o
CC arch/x86/lib/cpu.o
CC lib/math/int_log.o
CC lib/math/int_pow.o
AS arch/x86/realmode/rm/copy.o
CC sound/core/init.o
AS arch/x86/realmode/rm/bioscall.o
CC block/fops.o
CC lib/math/int_sqrt.o
GEN usr/initramfs_data.cpio
CC arch/x86/realmode/rm/regs.o
COPY usr/initramfs_inc_data
AS usr/initramfs_data.o
CC arch/x86/kernel/fpu/bugs.o
CERT certs/x509_certificate_list
AR usr/built-in.a
CERT certs/signing_key.x509
CC ipc/syscall.o
AS certs/system_certificates.o
CC arch/x86/realmode/rm/video-vga.o
AR certs/built-in.a
CC lib/math/reciprocal_div.o
CC fs/notify/inotify/inotify_fsnotify.o
CC arch/x86/kernel/fpu/core.o
CC arch/x86/realmode/rm/video-vesa.o
CC lib/math/rational.o
CC arch/x86/realmode/rm/video-bios.o
CC sound/core/seq/seq_lock.o
CC arch/x86/lib/delay.o
CC kernel/sched/fair.o
AR arch/x86/video/built-in.a
CC fs/notify/inotify/inotify_user.o
PASYMS arch/x86/realmode/rm/pasyms.h
CC fs/nfs_common/grace.o
LDS arch/x86/realmode/rm/realmode.lds
LD arch/x86/realmode/rm/realmode.elf
RELOCS arch/x86/realmode/rm/realmode.relocs
OBJCOPY arch/x86/realmode/rm/realmode.bin
CC arch/x86/mm/pat/memtype.o
AS arch/x86/realmode/rmpiggy.o
CC security/integrity/integrity_audit.o
CC arch/x86/entry/syscall_32.o
CC arch/x86/entry/common.o
AR arch/x86/realmode/built-in.a
CC drivers/pci/msi/api.o
CC drivers/pci/pcie/portdrv.o
AR drivers/pci/pwrctl/built-in.a
CC arch/x86/platform/efi/quirks.o
CC fs/iomap/trace.o
CC lib/crypto/mpi/generic_mpih-lshift.o
CC arch/x86/pci/pcbios.o
CC arch/x86/platform/efi/efi.o
CC crypto/asymmetric_keys/restrict.o
CC security/keys/key.o
LDS arch/x86/entry/vdso/vdso32/vdso32.lds
CC kernel/sched/build_policy.o
AR fs/notify/dnotify/built-in.a
CC sound/core/memory.o
CC lib/crypto/memneq.o
AS arch/x86/entry/vdso/vdso32/note.o
AS arch/x86/entry/vdso/vdso32/system_call.o
CC arch/x86/power/hibernate_32.o
AS arch/x86/entry/vdso/vdso32/sigreturn.o
AS arch/x86/lib/getuser.o
AR lib/math/built-in.a
CC arch/x86/entry/vdso/vdso32/vclock_gettime.o
CC block/bio.o
GEN arch/x86/lib/inat-tables.c
CC block/partitions/msdos.o
CC arch/x86/lib/insn-eval.o
CC security/min_addr.o
CC sound/core/seq/seq_clientmgr.o
CC arch/x86/events/intel/bts.o
CC io_uring/opdef.o
AR arch/x86/platform/iris/built-in.a
CC io_uring/kbuf.o
CC net/core/request_sock.o
CC net/ethernet/eth.o
AR net/802/built-in.a
CC lib/crypto/mpi/generic_mpih-mul1.o
AR sound/drivers/opl3/built-in.a
AR sound/drivers/opl4/built-in.a
AR sound/drivers/mpu401/built-in.a
AR sound/drivers/vx/built-in.a
CC crypto/asymmetric_keys/signature.o
CC drivers/pci/pcie/rcec.o
CC arch/x86/events/amd/lbr.o
AR sound/drivers/pcsp/built-in.a
CC sound/core/seq/seq_memory.o
AR sound/drivers/built-in.a
AS arch/x86/power/hibernate_asm_32.o
CC sound/core/seq/seq_queue.o
CC fs/iomap/iter.o
CC arch/x86/lib/insn.o
CC arch/x86/platform/intel/iosf_mbi.o
AR fs/nfs_common/built-in.a
CC drivers/pci/hotplug/pci_hotplug_core.o
AR drivers/pci/controller/dwc/built-in.a
AR drivers/pci/controller/mobiveil/built-in.a
AR drivers/pci/controller/plda/built-in.a
AR drivers/pci/controller/built-in.a
AS arch/x86/entry/thunk.o
AR security/integrity/built-in.a
CC mm/oom_kill.o
CC drivers/pci/hotplug/acpi_pcihp.o
CC drivers/pci/msi/msi.o
CC arch/x86/pci/mmconfig_32.o
CC crypto/api.o
CC arch/x86/pci/direct.o
CC init/version.o
CC arch/x86/entry/vdso/vdso32/vgetcpu.o
CC lib/crypto/utils.o
CC arch/x86/power/hibernate.o
AR fs/notify/inotify/built-in.a
AR fs/notify/fanotify/built-in.a
CC fs/notify/fsnotify.o
HOSTCC arch/x86/entry/vdso/vdso2c
CC security/selinux/hooks.o
CC arch/x86/mm/pat/memtype_interval.o
CC security/selinux/selinuxfs.o
CC arch/x86/mm/init_32.o
CC arch/x86/kernel/fpu/regset.o
AR sound/isa/ad1816a/built-in.a
AR sound/isa/ad1848/built-in.a
AR init/built-in.a
AR sound/isa/cs423x/built-in.a
CC arch/x86/lib/kaslr.o
AR sound/isa/es1688/built-in.a
AR sound/pci/ac97/built-in.a
CC crypto/asymmetric_keys/public_key.o
CC block/partitions/efi.o
AR sound/isa/galaxy/built-in.a
AR sound/pci/ali5451/built-in.a
AR sound/isa/gus/built-in.a
CC net/sched/sch_generic.o
AR sound/pci/asihpi/built-in.a
CC lib/crypto/mpi/generic_mpih-mul2.o
CC ipc/ipc_sysctl.o
AR sound/isa/msnd/built-in.a
AR sound/pci/au88x0/built-in.a
CC fs/notify/notification.o
CC arch/x86/platform/efi/efi_32.o
AR sound/isa/opti9xx/built-in.a
AR sound/pci/aw2/built-in.a
AR sound/isa/sb/built-in.a
AR sound/pci/ctxfi/built-in.a
CC security/keys/keyring.o
AR sound/isa/wavefront/built-in.a
AR sound/pci/ca0106/built-in.a
AR sound/isa/wss/built-in.a
AR sound/pci/cs46xx/built-in.a
AR sound/isa/built-in.a
AR sound/pci/cs5535audio/built-in.a
AR sound/pci/lola/built-in.a
AR sound/pci/lx6464es/built-in.a
ASN.1 crypto/asymmetric_keys/x509.asn1.[ch]
CC crypto/cipher.o
AR sound/pci/echoaudio/built-in.a
AR sound/pci/emu10k1/built-in.a
AR sound/pci/hda/built-in.a
AR sound/pci/ice1712/built-in.a
CC [M] sound/pci/hda/hda_bind.o
AR arch/x86/platform/intel-mid/built-in.a
CC lib/crypto/mpi/generic_mpih-mul3.o
CC drivers/pci/pcie/aspm.o
CC net/netlink/af_netlink.o
AR net/bpf/built-in.a
CC ipc/mqueue.o
CC arch/x86/lib/memcpy_32.o
CC arch/x86/mm/fault.o
AS arch/x86/lib/memmove_32.o
CC arch/x86/entry/vdso/vdso32-setup.o
CC arch/x86/lib/misc.o
CC arch/x86/lib/pc-conf-reg.o
AS arch/x86/lib/putuser.o
CC arch/x86/events/intel/ds.o
CC security/keys/keyctl.o
CC fs/iomap/buffered-io.o
AR sound/ppc/built-in.a
AR arch/x86/platform/intel/built-in.a
CC arch/x86/events/amd/ibs.o
CC arch/x86/events/amd/uncore.o
CC arch/x86/events/zhaoxin/core.o
CC kernel/sched/build_utility.o
CC crypto/compress.o
AR drivers/pci/hotplug/built-in.a
AS arch/x86/lib/retpoline.o
CC kernel/locking/mutex.o
CC arch/x86/pci/mmconfig-shared.o
AR arch/x86/power/built-in.a
CC block/elevator.o
CC arch/x86/lib/string_32.o
CC arch/x86/lib/strstr_32.o
AR arch/x86/mm/pat/built-in.a
CC sound/core/control.o
CC kernel/locking/semaphore.o
CC kernel/power/qos.o
CC lib/crypto/chacha.o
VDSO arch/x86/entry/vdso/vdso32.so.dbg
CC arch/x86/lib/usercopy.o
CC sound/core/seq/seq_fifo.o
OBJCOPY arch/x86/entry/vdso/vdso32.so
VDSO2C arch/x86/entry/vdso/vdso-image-32.c
CC arch/x86/entry/vdso/vdso-image-32.o
CC sound/core/misc.o
CC kernel/power/main.o
CC drivers/pci/msi/irqdomain.o
ASN.1 crypto/asymmetric_keys/x509_akid.asn1.[ch]
CC crypto/asymmetric_keys/x509_loader.o
CC arch/x86/kernel/cpu/mce/core.o
CC fs/notify/group.o
AR net/ethernet/built-in.a
CC lib/crypto/mpi/generic_mpih-rshift.o
CC arch/x86/kernel/fpu/signal.o
AS arch/x86/platform/efi/efi_stub_32.o
CC sound/core/seq/seq_prioq.o
CC kernel/printk/printk.o
CC arch/x86/platform/efi/runtime-map.o
CC kernel/irq/irqdesc.o
AR arch/x86/entry/vdso/built-in.a
CC net/core/skbuff.o
AR arch/x86/entry/built-in.a
AR block/partitions/built-in.a
CC arch/x86/lib/usercopy_32.o
CC fs/notify/mark.o
CC net/ethtool/ioctl.o
CC crypto/asymmetric_keys/x509_public_key.o
CC [M] sound/pci/hda/hda_codec.o
ASN.1 crypto/asymmetric_keys/pkcs7.asn1.[ch]
CC net/ethtool/common.o
CC net/ethtool/netlink.o
CC arch/x86/lib/msr-smp.o
CC security/keys/permission.o
CC security/selinux/netlink.o
CC arch/x86/events/intel/knc.o
CC drivers/video/console/dummycon.o
AR drivers/idle/built-in.a
CC drivers/video/console/vgacon.o
AR arch/x86/events/zhaoxin/built-in.a
CC mm/fadvise.o
CC net/netlink/genetlink.o
CC lib/crypto/mpi/generic_mpih-sub1.o
CC sound/core/seq/seq_timer.o
CC kernel/locking/rwsem.o
CC drivers/pci/pcie/pme.o
AR sound/pci/korg1212/built-in.a
CC arch/x86/pci/fixup.o
CC fs/iomap/direct-io.o
CC arch/x86/lib/cache-smp.o
AR drivers/pci/msi/built-in.a
CC fs/notify/fdinfo.o
CC security/security.o
AR arch/x86/platform/efi/built-in.a
CC crypto/asymmetric_keys/pkcs7_trust.o
AR arch/x86/platform/intel-quark/built-in.a
AR arch/x86/platform/olpc/built-in.a
AR arch/x86/platform/scx200/built-in.a
AR arch/x86/platform/ts5500/built-in.a
CC arch/x86/mm/ioremap.o
CC kernel/irq/handle.o
AR arch/x86/events/amd/built-in.a
AR arch/x86/platform/uv/built-in.a
CC security/lsm_audit.o
AR arch/x86/platform/built-in.a
CC crypto/algapi.o
CC net/netfilter/core.o
AR drivers/char/ipmi/built-in.a
CC arch/x86/kernel/cpu/mce/severity.o
CC arch/x86/lib/msr.o
CC arch/x86/kernel/fpu/xstate.o
CC block/blk-core.o
AS arch/x86/lib/msr-reg.o
CC arch/x86/kernel/cpu/mce/genpool.o
CC kernel/power/console.o
CC kernel/power/process.o
CC ipc/namespace.o
CC arch/x86/kernel/cpu/mce/intel.o
CC [M] sound/pci/hda/hda_jack.o
CC lib/crypto/mpi/generic_mpih-add1.o
CC crypto/asymmetric_keys/pkcs7_verify.o
CC security/keys/process_keys.o
CC net/netlink/policy.o
CC io_uring/rsrc.o
CC arch/x86/lib/msr-reg-export.o
CC net/sched/sch_mq.o
CC kernel/rcu/update.o
CC mm/maccess.o
AR fs/notify/built-in.a
CC sound/core/seq/seq_system.o
CC net/sched/sch_frag.o
CC kernel/irq/manage.o
AR drivers/pci/switch/built-in.a
CC arch/x86/kernel/cpu/mtrr/mtrr.o
AR drivers/pci/pcie/built-in.a
CC arch/x86/events/intel/lbr.o
CC drivers/pci/access.o
CC kernel/locking/percpu-rwsem.o
CC net/ipv4/netfilter/nf_defrag_ipv4.o
CC net/ipv4/netfilter/nf_reject_ipv4.o
AR sound/arm/built-in.a
CC net/ipv4/netfilter/ip_tables.o
CC crypto/asymmetric_keys/x509.asn1.o
AR drivers/video/console/built-in.a
CC crypto/asymmetric_keys/x509_akid.asn1.o
CC drivers/video/backlight/backlight.o
CC arch/x86/mm/extable.o
CC net/ipv4/netfilter/iptable_filter.o
CC ipc/mq_sysctl.o
CC crypto/asymmetric_keys/x509_cert_parser.o
CC arch/x86/pci/acpi.o
CC lib/crypto/mpi/ec.o
CC kernel/locking/spinlock.o
AS arch/x86/lib/hweight.o
CC arch/x86/events/intel/p4.o
CC fs/quota/dquot.o
CC arch/x86/lib/iomem.o
CC arch/x86/kernel/cpu/mce/amd.o
CC arch/x86/kernel/cpu/mce/threshold.o
CC fs/iomap/fiemap.o
CC sound/core/seq/seq_ports.o
AR ipc/built-in.a
CC arch/x86/lib/atomic64_32.o
AR arch/x86/kernel/fpu/built-in.a
AR kernel/livepatch/built-in.a
CC net/sched/sch_api.o
CC [M] sound/pci/hda/hda_auto_parser.o
AR sound/sh/built-in.a
CC arch/x86/kernel/cpu/mtrr/if.o
CC mm/page-writeback.o
CC crypto/asymmetric_keys/pkcs7.asn1.o
CC kernel/rcu/sync.o
CC kernel/power/suspend.o
CC net/ipv4/netfilter/iptable_mangle.o
CC kernel/locking/osq_lock.o
CC lib/zlib_inflate/inffast.o
CC kernel/printk/printk_safe.o
CC drivers/pci/bus.o
CC arch/x86/lib/inat.o
CC crypto/asymmetric_keys/pkcs7_parser.o
CC lib/zlib_inflate/inflate.o
AR net/netlink/built-in.a
CC security/keys/request_key.o
CC kernel/printk/nbcon.o
AR arch/x86/lib/built-in.a
AR arch/x86/lib/lib.a
CC block/blk-sysfs.o
AR sound/pci/mixart/built-in.a
CC mm/folio-compat.o
AR sound/synth/emux/built-in.a
CC arch/x86/events/intel/p6.o
CC kernel/locking/qspinlock.o
AR sound/synth/built-in.a
CC kernel/locking/rtmutex_api.o
CC arch/x86/kernel/cpu/mtrr/generic.o
CC net/netfilter/nf_log.o
CC arch/x86/kernel/cpu/mtrr/cleanup.o
CC drivers/acpi/acpica/dsargs.o
CC arch/x86/pci/legacy.o
AR drivers/video/backlight/built-in.a
AR drivers/video/fbdev/core/built-in.a
AR drivers/video/fbdev/omap/built-in.a
AR drivers/video/fbdev/omap2/omapfb/dss/built-in.a
AR drivers/video/fbdev/omap2/omapfb/displays/built-in.a
CC arch/x86/mm/mmap.o
AR drivers/video/fbdev/omap2/omapfb/built-in.a
CC fs/iomap/seek.o
AR drivers/acpi/pmic/built-in.a
CC drivers/acpi/dptf/int340x_thermal.o
AR drivers/video/fbdev/omap2/built-in.a
CC arch/x86/events/core.o
AR drivers/video/fbdev/built-in.a
CC drivers/video/aperture.o
CC io_uring/notif.o
CC security/keys/request_key_auth.o
CC sound/core/device.o
CC lib/crypto/mpi/mpicoder.o
CC net/ethtool/bitset.o
CC arch/x86/kernel/cpu/mtrr/amd.o
CC kernel/printk/printk_ringbuffer.o
CC sound/core/seq/seq_info.o
CC drivers/acpi/acpica/dscontrol.o
AR crypto/asymmetric_keys/built-in.a
CC security/selinux/nlmsgtab.o
CC crypto/scatterwalk.o
CC lib/crypto/mpi/mpi-add.o
CC fs/proc/task_mmu.o
CC kernel/irq/spurious.o
AR sound/usb/misc/built-in.a
CC lib/zlib_inflate/infutil.o
CC fs/iomap/swapfile.o
AR sound/usb/usx2y/built-in.a
CC sound/core/info.o
AR sound/usb/caiaq/built-in.a
AR sound/usb/6fire/built-in.a
AR sound/usb/hiface/built-in.a
AR sound/usb/bcd2000/built-in.a
AR sound/usb/built-in.a
CC arch/x86/kernel/cpu/mtrr/cyrix.o
CC drivers/pci/probe.o
CC block/blk-flush.o
CC arch/x86/kernel/acpi/boot.o
CC net/netfilter/nf_queue.o
AR drivers/acpi/dptf/built-in.a
CC net/netfilter/nf_sockopt.o
CC arch/x86/pci/irq.o
CC mm/readahead.o
CC kernel/rcu/srcutree.o
CC kernel/rcu/tree.o
CC arch/x86/mm/pgtable.o
CC arch/x86/events/intel/pt.o
CC sound/core/isadma.o
CC net/ipv4/netfilter/ipt_REJECT.o
CC drivers/acpi/acpica/dsdebug.o
CC [M] sound/pci/hda/hda_sysfs.o
CC io_uring/tctx.o
CC lib/zlib_inflate/inftrees.o
CC arch/x86/kernel/acpi/sleep.o
AS arch/x86/kernel/acpi/wakeup_32.o
CC sound/core/seq/seq_dummy.o
CC drivers/acpi/acpica/dsfield.o
CC drivers/acpi/acpica/dsinit.o
CC security/keys/user_defined.o
CC lib/zlib_deflate/deflate.o
AR kernel/sched/built-in.a
CC kernel/printk/sysctl.o
CC arch/x86/events/probe.o
CC lib/zlib_inflate/inflate_syms.o
CC kernel/power/hibernate.o
CC drivers/video/cmdline.o
CC kernel/locking/qrwlock.o
CC kernel/irq/resend.o
AR arch/x86/kernel/cpu/mce/built-in.a
CC net/sched/sch_blackhole.o
CC crypto/proc.o
CC security/selinux/netif.o
CC net/netfilter/utils.o
CC net/ipv4/route.o
CC [M] net/ipv4/netfilter/iptable_nat.o
CC arch/x86/kernel/cpu/mtrr/centaur.o
CC lib/crypto/mpi/mpi-bit.o
AR fs/iomap/built-in.a
CC net/xfrm/xfrm_policy.o
AR kernel/printk/built-in.a
CC net/xfrm/xfrm_state.o
CC net/unix/af_unix.o
CC net/ipv6/netfilter/ip6_tables.o
CC net/ipv6/af_inet6.o
AR lib/zlib_inflate/built-in.a
CC arch/x86/events/intel/uncore.o
CC fs/quota/quota_v2.o
CC net/packet/af_packet.o
CC fs/quota/quota_tree.o
CC drivers/acpi/acpica/dsmethod.o
CC drivers/acpi/acpica/dsmthdat.o
AR net/dsa/built-in.a
CC net/ethtool/strset.o
CC block/blk-settings.o
CC kernel/irq/chip.o
AR kernel/locking/built-in.a
CC arch/x86/events/utils.o
AR sound/core/seq/built-in.a
CC [M] sound/pci/hda/hda_controller.o
CC sound/core/vmaster.o
CC arch/x86/mm/physaddr.o
CC security/keys/proc.o
CC fs/quota/quota.o
CC net/ipv4/inetpeer.o
CC arch/x86/kernel/cpu/microcode/core.o
CC arch/x86/kernel/cpu/mtrr/legacy.o
CC kernel/power/snapshot.o
CC drivers/video/nomodeset.o
CC crypto/aead.o
CC fs/proc/inode.o
CC mm/swap.o
CC arch/x86/kernel/acpi/cstate.o
CC io_uring/filetable.o
CC kernel/dma/mapping.o
CC kernel/entry/common.o
CC lib/zlib_deflate/deftree.o
CC drivers/acpi/acpica/dsobject.o
CC lib/crypto/mpi/mpi-cmp.o
CC kernel/module/main.o
CC arch/x86/pci/common.o
CC net/sched/cls_api.o
CC net/sched/act_api.o
AR arch/x86/kernel/cpu/mtrr/built-in.a
CC mm/truncate.o
CC arch/x86/mm/tlb.o
CC [M] sound/pci/hda/hda_proc.o
CC net/ipv6/netfilter/ip6table_filter.o
CC drivers/video/hdmi.o
CC sound/core/ctljack.o
CC drivers/pci/host-bridge.o
CC security/selinux/netnode.o
CC net/sunrpc/auth_gss/auth_gss.o
CC security/keys/sysctl.o
AR net/wireless/tests/built-in.a
CC net/wireless/core.o
CC security/keys/keyctl_pkey.o
CC drivers/acpi/acpica/dsopcode.o
CC arch/x86/kernel/cpu/microcode/intel.o
CC net/sunrpc/auth_gss/gss_generic_token.o
CC net/netfilter/nfnetlink.o
AR arch/x86/kernel/acpi/built-in.a
AR net/mac80211/tests/built-in.a
CC net/mac80211/main.o
CC net/netlabel/netlabel_user.o
AR net/ipv4/netfilter/built-in.a
CC net/ethtool/linkinfo.o
CC block/blk-ioc.o
CC net/core/datagram.o
CC lib/zlib_deflate/deflate_syms.o
CC lib/crypto/mpi/mpi-sub-ui.o
CC kernel/irq/dummychip.o
CC net/netlabel/netlabel_kapi.o
CC sound/core/jack.o
CC fs/proc/root.o
CC crypto/geniv.o
CC net/unix/garbage.o
CC io_uring/rw.o
CC drivers/acpi/acpica/dspkginit.o
CC fs/quota/kqid.o
CC arch/x86/pci/early.o
CC kernel/dma/direct.o
AR lib/zlib_deflate/built-in.a
AR sound/firewire/built-in.a
CC lib/crypto/mpi/mpi-div.o
AR sound/sparc/built-in.a
CC lib/crypto/aes.o
CC kernel/entry/syscall_user_dispatch.o
CC drivers/pci/remove.o
AR drivers/video/built-in.a
CC arch/x86/kernel/apic/apic.o
AR security/keys/built-in.a
CC kernel/time/time.o
CC arch/x86/events/intel/uncore_nhmex.o
CC fs/kernfs/mount.o
CC net/rfkill/core.o
CC kernel/irq/devres.o
CC fs/kernfs/inode.o
CC arch/x86/events/intel/uncore_snb.o
CC net/sunrpc/clnt.o
CC security/device_cgroup.o
CC arch/x86/kernel/cpu/microcode/amd.o
CC arch/x86/mm/cpu_entry_area.o
CC [M] sound/pci/hda/hda_hwdep.o
CC drivers/acpi/acpica/dsutils.o
CC mm/vmscan.o
CC block/blk-map.o
CC net/ipv6/netfilter/ip6table_mangle.o
CC sound/core/timer.o
CC fs/quota/netlink.o
CC security/selinux/netport.o
CC net/ethtool/linkmodes.o
AR sound/spi/built-in.a
CC kernel/power/swap.o
CC arch/x86/kernel/apic/apic_common.o
CC arch/x86/pci/bus_numa.o
CC kernel/irq/autoprobe.o
CC fs/kernfs/dir.o
CC fs/proc/base.o
CC lib/crypto/mpi/mpi-inv.o
CC net/netfilter/nfnetlink_log.o
AR kernel/entry/built-in.a
CC fs/kernfs/file.o
CC crypto/lskcipher.o
CC drivers/pci/pci.o
CC block/blk-merge.o
CC drivers/acpi/acpica/dswexec.o
CC arch/x86/mm/maccess.o
CC block/blk-timeout.o
CC kernel/dma/ops_helpers.o
CC block/blk-lib.o
CC net/rfkill/input.o
CC drivers/pnp/pnpacpi/core.o
CC security/selinux/status.o
CC net/ipv4/protocol.o
CC net/netlabel/netlabel_domainhash.o
CC [M] sound/pci/hda/patch_hdmi.o
CC kernel/module/strict_rwx.o
CC kernel/time/timer.o
CC kernel/irq/irqdomain.o
CC net/unix/sysctl_net_unix.o
CC drivers/pnp/core.o
CC io_uring/net.o
AR arch/x86/kernel/cpu/microcode/built-in.a
CC arch/x86/kernel/cpu/cacheinfo.o
CC arch/x86/mm/pgprot.o
CC net/core/stream.o
CC lib/crypto/mpi/mpi-mod.o
CC arch/x86/events/intel/uncore_snbep.o
AR fs/quota/built-in.a
CC fs/sysfs/file.o
AR sound/pci/nm256/built-in.a
CC net/ipv6/anycast.o
CC drivers/acpi/acpica/dswload.o
CC arch/x86/pci/amd_bus.o
CC fs/sysfs/dir.o
CC net/sunrpc/xprt.o
CC net/ethtool/rss.o
CC kernel/dma/dummy.o
CC drivers/pnp/pnpacpi/rsparser.o
CC net/ipv6/ip6_output.o
CC net/ipv6/netfilter/nf_defrag_ipv6_hooks.o
AR net/packet/built-in.a
CC mm/shrinker.o
AR net/rfkill/built-in.a
CC arch/x86/events/rapl.o
CC net/sunrpc/auth_gss/gss_mech_switch.o
CC net/mac80211/status.o
CC net/xfrm/xfrm_hash.o
CC kernel/module/kmod.o
CC crypto/skcipher.o
CC net/ipv4/ip_input.o
CC kernel/module/tree_lookup.o
CC drivers/acpi/acpica/dswload2.o
CC arch/x86/mm/pgtable_32.o
CC net/sched/sch_fifo.o
CC crypto/seqiv.o
CC lib/crypto/mpi/mpi-mul.o
CC kernel/power/user.o
CC kernel/power/poweroff.o
CC kernel/rcu/rcu_segcblist.o
CC sound/core/hrtimer.o
CC arch/x86/kernel/apic/apic_noop.o
CC fs/kernfs/symlink.o
CC kernel/dma/remap.o
CC fs/sysfs/symlink.o
AR arch/x86/pci/built-in.a
CC security/selinux/ss/ebitmap.o
CC kernel/module/kallsyms.o
AR net/unix/built-in.a
CC net/netfilter/nf_conntrack_core.o
CC arch/x86/kernel/kprobes/core.o
CC net/core/scm.o
CC sound/core/seq_device.o
CC drivers/acpi/acpica/dswscope.o
CC arch/x86/kernel/cpu/scattered.o
CC kernel/irq/proc.o
CC net/xfrm/xfrm_input.o
CC mm/shmem.o
CC net/netlabel/netlabel_addrlist.o
CC block/blk-mq.o
CC net/netlabel/netlabel_mgmt.o
CC arch/x86/kernel/apic/ipi.o
CC drivers/pci/pci-driver.o
CC arch/x86/mm/iomap_32.o
CC lib/crypto/mpi/mpih-cmp.o
AR kernel/rcu/built-in.a
CC kernel/time/hrtimer.o
CC net/ethtool/linkstate.o
CC net/ipv4/ip_fragment.o
CC net/sunrpc/socklib.o
CC fs/devpts/inode.o
AR drivers/pnp/pnpacpi/built-in.a
CC fs/proc/generic.o
CC drivers/pnp/card.o
CC drivers/acpi/acpica/dswstate.o
CC net/mac80211/driver-ops.o
CC fs/proc/array.o
AR kernel/dma/built-in.a
CC kernel/time/timekeeping.o
CC arch/x86/kernel/cpu/topology_common.o
AR kernel/power/built-in.a
CC net/sunrpc/xprtsock.o
CC lib/crypto/mpi/mpih-div.o
AR fs/kernfs/built-in.a
CC lib/crypto/mpi/mpih-mul.o
CC [M] sound/core/hwdep.o
CC fs/sysfs/mount.o
CC net/sched/cls_cgroup.o
CC net/ipv6/netfilter/nf_conntrack_reasm.o
CC crypto/echainiv.o
CC kernel/module/procfs.o
CC net/wireless/sysfs.o
CC arch/x86/kernel/apic/vector.o
CC arch/x86/mm/hugetlbpage.o
CC kernel/irq/migration.o
CC drivers/acpi/acpica/evevent.o
CC net/sched/ematch.o
CC net/sunrpc/auth_gss/svcauth_gss.o
CC fs/sysfs/group.o
CC [M] sound/pci/hda/hda_eld.o
CC io_uring/poll.o
AR drivers/amba/built-in.a
CC arch/x86/kernel/kprobes/opt.o
CC net/sunrpc/sched.o
CC arch/x86/events/msr.o
CC arch/x86/kernel/cpu/topology_ext.o
CC security/selinux/ss/hashtab.o
CC drivers/pnp/driver.o
AR fs/devpts/built-in.a
CC drivers/pnp/resource.o
CC net/core/gen_stats.o
CC lib/lzo/lzo1x_compress.o
CC net/9p/mod.o
CC drivers/acpi/acpica/evgpe.o
CC arch/x86/events/intel/uncore_discovery.o
CC kernel/irq/cpuhotplug.o
CC [M] sound/core/pcm.o
CC kernel/module/sysfs.o
CC net/9p/client.o
AR sound/parisc/built-in.a
CC net/ethtool/debug.o
CC crypto/ahash.o
CC net/dns_resolver/dns_key.o
CC net/netlabel/netlabel_unlabeled.o
CC lib/lzo/lzo1x_decompress_safe.o
CC net/ethtool/wol.o
CC fs/proc/fd.o
CC lib/crypto/mpi/mpi-pow.o
CC net/sunrpc/auth_gss/gss_rpc_upcall.o
CC arch/x86/kernel/cpu/topology_amd.o
CC security/selinux/ss/symtab.o
CC arch/x86/mm/dump_pagetables.o
CC drivers/pci/search.o
AR fs/sysfs/built-in.a
CC arch/x86/kernel/cpu/common.o
CC net/ipv4/ip_forward.o
CC security/selinux/ss/sidtab.o
CC net/xfrm/xfrm_output.o
CC arch/x86/kernel/cpu/rdrand.o
CC net/ipv6/netfilter/nf_reject_ipv6.o
CC drivers/acpi/acpica/evgpeblk.o
CC net/9p/error.o
CC [M] sound/core/pcm_native.o
CC block/blk-mq-tag.o
CC [M] sound/pci/hda/hda_intel.o
CC net/netfilter/nf_conntrack_standalone.o
AR arch/x86/kernel/kprobes/built-in.a
CC mm/util.o
AR drivers/clk/actions/built-in.a
AR drivers/clk/analogbits/built-in.a
AR drivers/clk/bcm/built-in.a
AR drivers/clk/imgtec/built-in.a
AR drivers/clk/imx/built-in.a
AR drivers/clk/ingenic/built-in.a
AR net/sched/built-in.a
AR lib/lzo/built-in.a
CC net/ethtool/features.o
AR drivers/clk/mediatek/built-in.a
AR drivers/clk/microchip/built-in.a
CC net/wireless/radiotap.o
AR drivers/clk/mstar/built-in.a
CC net/ethtool/privflags.o
AR drivers/clk/mvebu/built-in.a
AR drivers/clk/ralink/built-in.a
AR drivers/clk/renesas/built-in.a
CC kernel/time/ntp.o
AR drivers/clk/socfpga/built-in.a
AR drivers/clk/sophgo/built-in.a
CC net/dns_resolver/dns_query.o
AR drivers/clk/sprd/built-in.a
CC kernel/irq/pm.o
AR drivers/clk/starfive/built-in.a
AR drivers/clk/sunxi-ng/built-in.a
CC kernel/time/clocksource.o
AR drivers/clk/ti/built-in.a
AR kernel/module/built-in.a
AR drivers/clk/versatile/built-in.a
CC net/ethtool/rings.o
AR drivers/clk/xilinx/built-in.a
AR drivers/clk/built-in.a
CC net/xfrm/xfrm_sysctl.o
CC lib/crypto/arc4.o
CC lib/crypto/mpi/mpiutil.o
CC net/wireless/util.o
CC drivers/pnp/manager.o
CC net/core/gen_estimator.o
CC crypto/shash.o
CC drivers/acpi/acpica/evgpeinit.o
CC fs/proc/proc_tty.o
CC net/xfrm/xfrm_replay.o
CC net/ipv6/netfilter/ip6t_ipv6header.o
CC arch/x86/events/intel/cstate.o
CC arch/x86/mm/highmem_32.o
CC drivers/pci/rom.o
CC drivers/acpi/x86/apple.o
LD [M] sound/pci/hda/snd-hda-codec.o
CC fs/netfs/buffered_read.o
CC arch/x86/kernel/cpu/match.o
CC arch/x86/kernel/apic/init.o
LDS arch/x86/kernel/vmlinux.lds
CC net/sunrpc/auth_gss/gss_rpc_xdr.o
CC net/sunrpc/auth.o
CC io_uring/eventfd.o
CC net/ethtool/channels.o
CC drivers/acpi/acpica/evgpeutil.o
CC net/core/net_namespace.o
AR net/dns_resolver/built-in.a
CC net/wireless/reg.o
CC drivers/pnp/support.o
CC kernel/irq/msi.o
CC net/netlabel/netlabel_cipso_v4.o
AR lib/crypto/mpi/built-in.a
CC net/netlabel/netlabel_calipso.o
CC drivers/pnp/interface.o
CC lib/crypto/gf128mul.o
CC drivers/pnp/quirks.o
CC mm/mmzone.o
CC arch/x86/kernel/apic/hw_nmi.o
CC drivers/acpi/acpica/evglock.o
CC net/ipv4/ip_options.o
CC security/selinux/ss/avtab.o
CC crypto/akcipher.o
CC net/netfilter/nf_conntrack_expect.o
CC fs/proc/cmdline.o
AS arch/x86/kernel/head_32.o
CC drivers/acpi/x86/cmos_rtc.o
CC crypto/sig.o
CC kernel/time/jiffies.o
AR sound/pci/oxygen/built-in.a
CC arch/x86/kernel/apic/io_apic.o
AR arch/x86/mm/built-in.a
CC drivers/pnp/system.o
CC arch/x86/kernel/cpu/bugs.o
CC net/ipv6/ip6_input.o
CC [M] sound/core/pcm_lib.o
CC net/9p/protocol.o
CC drivers/pci/setup-res.o
CC net/9p/trans_common.o
CC net/ethtool/coalesce.o
AR sound/pci/pcxhr/built-in.a
CC kernel/irq/affinity.o
AR sound/pcmcia/vx/built-in.a
AR sound/pcmcia/pdaudiocf/built-in.a
CC [M] sound/core/pcm_misc.o
AR sound/pcmcia/built-in.a
CC drivers/dma/dw/core.o
AR arch/x86/events/intel/built-in.a
CC io_uring/uring_cmd.o
AR arch/x86/events/built-in.a
CC drivers/virtio/virtio.o
AR drivers/soc/apple/built-in.a
AR drivers/soc/aspeed/built-in.a
AR drivers/soc/bcm/built-in.a
CC drivers/acpi/acpica/evhandler.o
AR drivers/soc/fsl/built-in.a
LD [M] sound/pci/hda/snd-hda-codec-hdmi.o
LD [M] sound/pci/hda/snd-hda-intel.o
AR drivers/soc/fujitsu/built-in.a
AR sound/pci/riptide/built-in.a
AR drivers/soc/hisilicon/built-in.a
AR sound/pci/rme9652/built-in.a
AR drivers/soc/imx/built-in.a
AR sound/pci/trident/built-in.a
AR drivers/soc/ixp4xx/built-in.a
CC net/mac80211/sta_info.o
AR sound/pci/ymfpci/built-in.a
AR drivers/soc/loongson/built-in.a
AR drivers/soc/mediatek/built-in.a
AR sound/pci/vx222/built-in.a
CC kernel/time/timer_list.o
AR sound/pci/built-in.a
AR drivers/soc/microchip/built-in.a
AR drivers/soc/nuvoton/built-in.a
AR drivers/soc/pxa/built-in.a
AR drivers/soc/amlogic/built-in.a
CC net/wireless/scan.o
AR drivers/soc/qcom/built-in.a
CC arch/x86/kernel/apic/msi.o
CC mm/vmstat.o
CC drivers/tty/vt/vt_ioctl.o
AR drivers/soc/renesas/built-in.a
CC net/xfrm/xfrm_device.o
CC lib/crypto/blake2s.o
AR drivers/soc/rockchip/built-in.a
CC fs/proc/consoles.o
CC net/ipv6/netfilter/ip6t_REJECT.o
AR drivers/soc/sunxi/built-in.a
CC block/blk-stat.o
AR drivers/soc/ti/built-in.a
AR drivers/soc/xilinx/built-in.a
AR drivers/soc/built-in.a
CC drivers/acpi/acpica/evmisc.o
CC drivers/acpi/acpica/evregion.o
CC drivers/acpi/x86/lpss.o
CC net/ipv6/addrconf.o
CC net/sunrpc/auth_null.o
CC drivers/dma/dw/dw.o
AR drivers/pnp/built-in.a
CC drivers/acpi/tables.o
CC fs/netfs/buffered_write.o
CC net/sunrpc/auth_gss/trace.o
CC net/ethtool/pause.o
CC lib/lz4/lz4_decompress.o
CC kernel/irq/matrix.o
CC crypto/kpp.o
CC lib/crypto/blake2s-generic.o
CC net/9p/trans_fd.o
CC security/selinux/ss/policydb.o
CC drivers/pci/irq.o
CC drivers/pci/vpd.o
CC drivers/virtio/virtio_ring.o
CC kernel/time/timeconv.o
CC kernel/time/timecounter.o
AR net/netlabel/built-in.a
CC drivers/acpi/acpica/evrgnini.o
CC net/core/secure_seq.o
CC net/9p/trans_virtio.o
CC fs/proc/cpuinfo.o
CC drivers/acpi/osi.o
CC fs/ext4/balloc.o
CC fs/netfs/direct_read.o
CC block/blk-mq-sysfs.o
CC net/mac80211/wep.o
CC net/ipv4/ip_output.o
CC lib/zstd/zstd_decompress_module.o
CC net/netfilter/nf_conntrack_helper.o
CC net/wireless/nl80211.o
CC drivers/dma/hsu/hsu.o
CC kernel/time/alarmtimer.o
CC drivers/acpi/x86/s2idle.o
CC lib/crypto/sha1.o
CC drivers/dma/dw/idma32.o
CC drivers/pci/setup-bus.o
CC drivers/acpi/acpica/evsci.o
CC drivers/tty/vt/vc_screen.o
CC io_uring/openclose.o
CC net/xfrm/xfrm_nat_keepalive.o
CC net/sunrpc/auth_tls.o
CC drivers/acpi/acpica/evxface.o
CC drivers/tty/hvc/hvc_console.o
CC arch/x86/kernel/cpu/aperfmperf.o
ASN.1 crypto/rsapubkey.asn1.[ch]
ASN.1 crypto/rsaprivkey.asn1.[ch]
CC crypto/rsa.o
CC fs/proc/devices.o
AR net/ipv6/netfilter/built-in.a
CC lib/zstd/decompress/huf_decompress.o
CC net/core/flow_dissector.o
CC fs/jbd2/transaction.o
CC [M] sound/core/pcm_memory.o
CC net/core/sysctl_net_core.o
CC net/ethtool/eee.o
CC arch/x86/kernel/apic/probe_32.o
CC lib/crypto/sha256.o
CC fs/jbd2/commit.o
CC drivers/dma/dw/acpi.o
CC mm/backing-dev.o
CC drivers/tty/serial/8250/8250_core.o
CC block/blk-mq-cpumap.o
AR kernel/irq/built-in.a
CC fs/netfs/direct_write.o
AR drivers/tty/ipwireless/built-in.a
CC net/netfilter/nf_conntrack_proto.o
CC drivers/acpi/osl.o
AR lib/lz4/built-in.a
CC net/ipv4/ip_sockglue.o
CC drivers/acpi/acpica/evxfevnt.o
CC drivers/char/hw_random/core.o
AR arch/x86/kernel/apic/built-in.a
AR drivers/dma/hsu/built-in.a
CC crypto/rsa_helper.o
AR drivers/iommu/amd/built-in.a
AR drivers/iommu/intel/built-in.a
AR drivers/iommu/arm/arm-smmu/built-in.a
CC drivers/acpi/x86/utils.o
AR drivers/iommu/arm/arm-smmu-v3/built-in.a
AR drivers/iommu/arm/built-in.a
AR drivers/iommu/iommufd/built-in.a
CC net/sunrpc/auth_unix.o
CC drivers/iommu/iommu.o
AR net/9p/built-in.a
CC fs/proc/interrupts.o
CC arch/x86/kernel/head32.o
CC lib/xz/xz_dec_syms.o
CC arch/x86/kernel/cpu/cpuid-deps.o
CC crypto/rsa-pkcs1pad.o
AR sound/mips/built-in.a
AR sound/soc/built-in.a
CC drivers/virtio/virtio_anchor.o
CC net/sunrpc/auth_gss/gss_krb5_mech.o
AR lib/crypto/built-in.a
CC drivers/tty/vt/selection.o
CC drivers/pci/vc.o
CC [M] sound/core/memalloc.o
CC io_uring/sqpoll.o
CC kernel/time/posix-timers.o
AR drivers/tty/hvc/built-in.a
CC drivers/acpi/acpica/evxfgpe.o
CC fs/ramfs/inode.o
AR drivers/dma/dw/built-in.a
CC block/blk-mq-sched.o
AR drivers/dma/idxd/built-in.a
AR drivers/dma/mediatek/built-in.a
CC fs/hugetlbfs/inode.o
AR drivers/dma/qcom/built-in.a
CC fs/isofs/namei.o
CC fs/fat/cache.o
AR drivers/dma/stm32/built-in.a
AR drivers/dma/ti/built-in.a
CC net/xfrm/xfrm_algo.o
CC lib/xz/xz_dec_stream.o
AR drivers/dma/xilinx/built-in.a
CC drivers/dma/dmaengine.o
CC net/ethtool/tsinfo.o
CC arch/x86/kernel/cpu/umwait.o
CC drivers/acpi/x86/blacklist.o
CC fs/proc/loadavg.o
CC drivers/tty/serial/8250/8250_platform.o
CC fs/isofs/inode.o
CC net/wireless/mlme.o
CC lib/zstd/decompress/zstd_ddict.o
CC drivers/char/hw_random/intel-rng.o
CC drivers/virtio/virtio_pci_modern_dev.o
CC net/core/dev.o
CC drivers/acpi/acpica/evxfregn.o
CC fs/netfs/io.o
CC lib/xz/xz_dec_lzma2.o
CC lib/zstd/decompress/zstd_decompress.o
CC mm/mm_init.o
CC crypto/acompress.o
CC drivers/tty/vt/keyboard.o
CC net/sunrpc/auth_gss/gss_krb5_seal.o
CC drivers/pci/mmap.o
CC drivers/char/agp/backend.o
CC crypto/scompress.o
CC fs/jbd2/recovery.o
CC drivers/acpi/acpica/exconcat.o
AR drivers/acpi/x86/built-in.a
CC drivers/dma/virt-dma.o
CC fs/ext4/bitmap.o
CC arch/x86/kernel/ebda.o
CC fs/ramfs/file-mmu.o
MKCAP arch/x86/kernel/cpu/capflags.c
CC net/ethtool/cabletest.o
CC crypto/algboss.o
CC fs/proc/meminfo.o
CC security/selinux/ss/services.o
CC io_uring/xattr.o
CC [M] sound/core/pcm_timer.o
LD [M] sound/core/snd-hwdep.o
CC fs/jbd2/checkpoint.o
CC fs/fat/dir.o
CC net/netfilter/nf_conntrack_proto_generic.o
CC drivers/tty/serial/8250/8250_pnp.o
CC drivers/char/hw_random/amd-rng.o
CC drivers/acpi/acpica/exconfig.o
CC net/core/dev_addr_lists.o
CC block/ioctl.o
CC fs/fat/fatent.o
CC kernel/time/posix-cpu-timers.o
CC drivers/virtio/virtio_pci_legacy_dev.o
CC lib/xz/xz_dec_bcj.o
CC drivers/pci/devres.o
CC net/xfrm/xfrm_user.o
CC drivers/acpi/utils.o
CC net/sunrpc/auth_gss/gss_krb5_unseal.o
CC drivers/char/agp/generic.o
CC drivers/acpi/reboot.o
CC lib/zstd/decompress/zstd_decompress_block.o
CC fs/fat/file.o
CC net/ipv4/inet_hashtables.o
CC drivers/dma/acpi-dma.o
CC fs/fat/inode.o
AR fs/hugetlbfs/built-in.a
CC fs/ext4/block_validity.o
AR fs/ramfs/built-in.a
CC kernel/time/posix-clock.o
CC kernel/time/itimer.o
CC net/netfilter/nf_conntrack_proto_tcp.o
AR sound/core/built-in.a
LD [M] sound/core/snd-pcm.o
AR sound/atmel/built-in.a
AR sound/hda/built-in.a
CC drivers/acpi/acpica/exconvrt.o
CC [M] sound/hda/hda_bus_type.o
CC lib/zstd/zstd_common_module.o
CC fs/proc/stat.o
CC fs/isofs/dir.o
CC drivers/iommu/iommu-traces.o
CC fs/proc/uptime.o
AR lib/xz/built-in.a
CC security/selinux/ss/conditional.o
CC crypto/testmgr.o
CC drivers/char/hw_random/geode-rng.o
CC io_uring/nop.o
CC fs/netfs/iterator.o
CC mm/percpu.o
CC drivers/tty/serial/8250/8250_rsa.o
CC net/ethtool/tunnels.o
CC drivers/tty/vt/vt.o
CC drivers/virtio/virtio_pci_modern.o
CC net/core/dst.o
CC net/mac80211/aead_api.o
CC fs/jbd2/revoke.o
CC drivers/acpi/acpica/excreate.o
CC net/ipv6/addrlabel.o
CC drivers/acpi/nvs.o
CC block/genhd.o
CC drivers/char/agp/isoch.o
CC net/sunrpc/auth_gss/gss_krb5_wrap.o
CC drivers/pci/proc.o
CC net/core/netevent.o
AR drivers/dma/built-in.a
AR sound/x86/built-in.a
CC arch/x86/kernel/cpu/powerflags.o
CC fs/isofs/util.o
CC fs/isofs/rock.o
CC [M] sound/hda/hdac_bus.o
CC net/mac80211/wpa.o
CC drivers/tty/tty_io.o
CC drivers/tty/n_tty.o
CC fs/proc/util.o
CC fs/ext4/dir.o
CC fs/nfs/client.o
CC crypto/cmac.o
CC net/sunrpc/auth_gss/gss_krb5_crypto.o
CC drivers/pci/pci-sysfs.o
CC drivers/pci/slot.o
CC drivers/char/hw_random/via-rng.o
CC drivers/acpi/acpica/exdebug.o
CC block/ioprio.o
CC net/sunrpc/svc.o
CC net/core/neighbour.o
CC kernel/time/clockevents.o
CC drivers/tty/serial/8250/8250_port.o
CC net/handshake/alert.o
CC io_uring/fs.o
CC drivers/iommu/iommu-sysfs.o
CC net/handshake/genl.o
CC drivers/virtio/virtio_pci_common.o
CC fs/netfs/locking.o
AR drivers/char/hw_random/built-in.a
CC drivers/acpi/acpica/exdump.o
CC kernel/futex/core.o
CC drivers/char/agp/amd64-agp.o
CC crypto/hmac.o
CC fs/fat/misc.o
CC fs/jbd2/journal.o
CC fs/proc/version.o
COPY drivers/tty/vt/defkeymap.c
CC drivers/tty/serial/8250/8250_dma.o
CC fs/ext4/ext4_jbd2.o
CC drivers/iommu/dma-iommu.o
CC fs/exportfs/expfs.o
CC arch/x86/kernel/cpu/topology.o
CC [M] sound/hda/hdac_device.o
CC net/ethtool/fec.o
CC fs/isofs/export.o
CC kernel/time/tick-common.o
CC drivers/acpi/acpica/exfield.o
CC [M] sound/hda/hdac_sysfs.o
CC net/netfilter/nf_conntrack_proto_udp.o
CC drivers/acpi/acpica/exfldio.o
CC net/ipv6/route.o
CC drivers/acpi/acpica/exmisc.o
CC block/badblocks.o
CC security/selinux/ss/mls.o
CC net/ipv4/inet_timewait_sock.o
CC fs/isofs/joliet.o
CC net/handshake/netlink.o
CC fs/proc/softirqs.o
CC net/sunrpc/auth_gss/gss_krb5_keys.o
CC net/netfilter/nf_conntrack_proto_icmp.o
CC crypto/crypto_null.o
CC lib/zstd/common/debug.o
CC io_uring/splice.o
CC fs/proc/namespaces.o
CC lib/zstd/common/entropy_common.o
CC lib/zstd/common/error_private.o
CC drivers/pci/pci-acpi.o
AR fs/exportfs/built-in.a
CC fs/proc/self.o
CC arch/x86/kernel/platform-quirks.o
CC kernel/futex/syscalls.o
CC drivers/char/agp/intel-agp.o
CC drivers/virtio/virtio_pci_legacy.o
CC drivers/acpi/wakeup.o
CC drivers/acpi/acpica/exmutex.o
CC drivers/char/mem.o
CC net/wireless/ibss.o
CC lib/zstd/common/fse_decompress.o
CC fs/netfs/main.o
CC net/mac80211/scan.o
CC fs/fat/nfs.o
CC net/netfilter/nf_conntrack_extend.o
AR net/xfrm/built-in.a
CC net/core/rtnetlink.o
CC drivers/virtio/virtio_pci_admin_legacy_io.o
CC [M] sound/hda/hdac_regmap.o
CC fs/nfs/dir.o
CC fs/nfs/file.o
CC fs/isofs/compress.o
CC mm/slab_common.o
AR sound/xen/built-in.a
CC kernel/cgroup/cgroup.o
CC kernel/cgroup/rstat.o
CC net/netfilter/nf_conntrack_acct.o
CC drivers/acpi/acpica/exnames.o
CC net/ethtool/eeprom.o
CC fs/ext4/extents.o
CC block/blk-rq-qos.o
CC crypto/md5.o
CC drivers/tty/serial/8250/8250_dwlib.o
CC drivers/tty/vt/consolemap.o
CC net/ipv4/inet_connection_sock.o
CC kernel/time/tick-broadcast.o
CC lib/zstd/common/zstd_common.o
CC net/netfilter/nf_conntrack_seqadj.o
AR lib/zstd/built-in.a
AR net/sunrpc/auth_gss/built-in.a
CC fs/proc/thread_self.o
CC net/mac80211/offchannel.o
CC kernel/futex/pi.o
CC lib/dim/dim.o
CC net/ipv4/tcp.o
CC drivers/iommu/iova.o
CC io_uring/sync.o
CC drivers/char/agp/intel-gtt.o
CC kernel/futex/requeue.o
CC security/selinux/ss/context.o
CC fs/fat/namei_vfat.o
CC drivers/acpi/acpica/exoparg1.o
CC net/handshake/request.o
CC drivers/virtio/virtio_input.o
CC net/sunrpc/svcsock.o
AR drivers/gpu/host1x/built-in.a
CC drivers/connector/cn_queue.o
CC drivers/pci/iomap.o
CC crypto/sha256_generic.o
CC [M] sound/hda/hdac_controller.o
CC lib/dim/net_dim.o
AR drivers/gpu/drm/tests/built-in.a
AR drivers/gpu/drm/arm/built-in.a
CC drivers/gpu/drm/display/drm_display_helper_mod.o
AR fs/isofs/built-in.a
CC crypto/sha512_generic.o
CC drivers/tty/serial/8250/8250_pcilib.o
CC arch/x86/kernel/cpu/proc.o
CC security/selinux/netlabel.o
CC block/disk-events.o
CC fs/proc/proc_sysctl.o
CC kernel/time/tick-broadcast-hrtimer.o
CC drivers/tty/serial/serial_core.o
CC drivers/acpi/acpica/exoparg2.o
CC fs/lockd/clntlock.o
CC net/sunrpc/svcauth.o
CC net/ethtool/stats.o
HOSTCC drivers/tty/vt/conmakehash
CC kernel/futex/waitwake.o
CC drivers/gpu/drm/display/drm_dp_dual_mode_helper.o
CC crypto/sha3_generic.o
CC net/sunrpc/svcauth_unix.o
CC [M] sound/hda/hdac_stream.o
AR drivers/iommu/built-in.a
CC kernel/time/tick-oneshot.o
CC drivers/tty/tty_ioctl.o
CC io_uring/msg_ring.o
CC drivers/pci/quirks.o
CC drivers/tty/vt/defkeymap.o
CC drivers/virtio/virtio_dma_buf.o
CC lib/fonts/fonts.o
CC fs/fat/namei_msdos.o
AR fs/jbd2/built-in.a
CC drivers/acpi/acpica/exoparg3.o
CC drivers/tty/serial/serial_base_bus.o
AR drivers/char/agp/built-in.a
CC drivers/char/random.o
CC drivers/tty/serial/8250/8250_early.o
CC fs/netfs/misc.o
CC arch/x86/kernel/cpu/feat_ctl.o
CC net/netfilter/nf_conntrack_proto_icmpv6.o
CONMK drivers/tty/vt/consolemap_deftbl.c
CC drivers/tty/vt/consolemap_deftbl.o
AR drivers/tty/vt/built-in.a
CC drivers/pci/pci-label.o
CC kernel/trace/trace_clock.o
CC mm/compaction.o
CC drivers/connector/connector.o
CC net/devres.o
CC lib/dim/rdma_dim.o
CC crypto/ecb.o
CC block/blk-ia-ranges.o
CC kernel/time/tick-sched.o
CC lib/fonts/font_8x16.o
CC drivers/acpi/acpica/exoparg6.o
CC kernel/time/timer_migration.o
AR kernel/futex/built-in.a
CC net/socket.o
CC net/handshake/tlshd.o
CC drivers/gpu/drm/display/drm_dp_helper.o
CC kernel/trace/ring_buffer.o
CC arch/x86/kernel/cpu/intel.o
AR drivers/virtio/built-in.a
CC crypto/cbc.o
AR lib/dim/built-in.a
CC mm/show_mem.o
AR lib/fonts/built-in.a
CC mm/shmem_quota.o
CC mm/interval_tree.o
CC lib/argv_split.o
CC fs/ext4/extents_status.o
CC fs/proc/proc_net.o
AR security/selinux/built-in.a
CC fs/lockd/clntproc.o
AR security/built-in.a
CC [M] sound/hda/array.o
CC [M] sound/hda/hdmi_chmap.o
CC net/ethtool/phc_vclocks.o
CC arch/x86/kernel/cpu/tsx.o
CC drivers/tty/serial/8250/8250_exar.o
CC io_uring/advise.o
CC drivers/acpi/acpica/exprep.o
AR sound/virtio/built-in.a
CC drivers/acpi/acpica/exregion.o
AR fs/fat/built-in.a
CC mm/list_lru.o
CC net/core/utils.o
CC block/early-lookup.o
CC fs/netfs/objects.o
CC crypto/ctr.o
CC fs/lockd/clntxdr.o
CC lib/bug.o
CC drivers/char/misc.o
CC drivers/connector/cn_proc.o
CC fs/ext4/file.o
CC drivers/acpi/acpica/exresnte.o
CC io_uring/epoll.o
CC drivers/tty/tty_ldisc.o
CC kernel/trace/trace.o
CC net/netfilter/nf_conntrack_netlink.o
CC net/handshake/trace.o
CC kernel/cgroup/namespace.o
CC drivers/base/power/sysfs.o
CC net/ipv4/tcp_input.o
CC crypto/gcm.o
CC net/sunrpc/addr.o
CC kernel/cgroup/cgroup-v1.o
CC fs/proc/kcore.o
CC arch/x86/kernel/cpu/intel_epb.o
CC arch/x86/kernel/cpu/amd.o
CC kernel/bpf/core.o
CC net/core/link_watch.o
CC net/mac80211/ht.o
CC fs/nfs/getroot.o
CC drivers/acpi/acpica/exresolv.o
CC block/bounce.o
CC [M] sound/hda/trace.o
CC lib/buildid.o
CC drivers/char/virtio_console.o
CC net/ethtool/mm.o
CC drivers/tty/serial/8250/8250_lpss.o
CC net/ipv6/ip6_fib.o
CC drivers/pci/vgaarb.o
CC fs/netfs/write_collect.o
CC drivers/base/power/generic_ops.o
CC net/wireless/sme.o
CC fs/netfs/write_issue.o
CC drivers/tty/serial/8250/8250_mid.o
CC fs/lockd/host.o
CC kernel/time/vsyscall.o
CC drivers/acpi/acpica/exresop.o
CC arch/x86/kernel/process_32.o
CC mm/workingset.o
CC drivers/block/loop.o
CC [M] sound/hda/hdac_component.o
CC kernel/trace/trace_output.o
CC io_uring/statx.o
CC drivers/acpi/acpica/exserial.o
AR drivers/connector/built-in.a
CC crypto/ccm.o
CC net/ipv4/tcp_output.o
CC kernel/time/timekeeping_debug.o
CC lib/clz_tab.o
CC lib/cmdline.o
CC drivers/gpu/drm/display/drm_dp_mst_topology.o
CC drivers/base/power/common.o
CC lib/cpumask.o
CC arch/x86/kernel/signal.o
CC net/core/filter.o
CC drivers/tty/serial/serial_ctrl.o
CC fs/proc/vmcore.o
CC net/ipv4/tcp_timer.o
CC net/sunrpc/rpcb_clnt.o
CC drivers/acpi/acpica/exstore.o
CC arch/x86/kernel/cpu/hygon.o
CC fs/ext4/fsmap.o
CC block/bsg.o
CC net/wireless/chan.o
CC net/mac80211/agg-tx.o
CC net/sysctl_net.o
CC drivers/tty/serial/8250/8250_pci.o
CC fs/nfs/inode.o
CC kernel/events/core.o
CC drivers/tty/serial/8250/8250_pericom.o
CC [M] sound/hda/hdac_i915.o
CC net/ethtool/module.o
AR net/handshake/built-in.a
CC arch/x86/kernel/signal_32.o
CC mm/debug.o
CC drivers/acpi/sleep.o
CC drivers/acpi/device_sysfs.o
CC drivers/acpi/acpica/exstoren.o
CC io_uring/timeout.o
AR drivers/pci/built-in.a
CC drivers/acpi/acpica/exstorob.o
CC kernel/cgroup/freezer.o
AR drivers/gpu/vga/built-in.a
CC kernel/time/namespace.o
CC drivers/acpi/acpica/exsystem.o
CC drivers/base/power/qos.o
CC arch/x86/kernel/cpu/centaur.o
CC lib/ctype.o
CC crypto/aes_generic.o
CC drivers/char/hpet.o
CC lib/dec_and_lock.o
CC fs/ext4/fsync.o
CC block/blk-cgroup.o
CC sound/sound_core.o
CC lib/decompress.o
CC fs/lockd/svc.o
CC mm/gup.o
CC drivers/gpu/drm/ttm/ttm_tt.o
CC lib/decompress_bunzip2.o
CC fs/nls/nls_base.o
AR fs/netfs/built-in.a
CC net/ethtool/cmis_fw_update.o
CC drivers/gpu/drm/display/drm_dsc_helper.o
CC drivers/acpi/acpica/extrace.o
CC net/netfilter/nf_conntrack_ftp.o
CC arch/x86/kernel/cpu/transmeta.o
CC [M] sound/hda/intel-dsp-config.o
CC fs/nls/nls_cp437.o
CC fs/proc/kmsg.o
CC drivers/base/firmware_loader/builtin/main.o
CC drivers/block/virtio_blk.o
CC kernel/fork.o
CC net/netfilter/nf_conntrack_irc.o
CC block/blk-ioprio.o
CC net/ethtool/cmis_cdb.o
CC drivers/tty/serial/serial_port.o
AR kernel/time/built-in.a
CC drivers/gpu/drm/display/drm_hdcp_helper.o
CC net/ipv6/ipv6_sockglue.o
CC drivers/acpi/acpica/exutils.o
CC crypto/crc32c_generic.o
CC fs/nls/nls_ascii.o
CC [M] sound/hda/intel-nhlt.o
AR drivers/base/firmware_loader/builtin/built-in.a
CC drivers/base/firmware_loader/main.o
CC kernel/trace/trace_seq.o
CC kernel/cgroup/legacy_freezer.o
CC drivers/char/nvram.o
CC fs/proc/page.o
CC drivers/gpu/drm/i915/i915_config.o
CC lib/decompress_inflate.o
CC arch/x86/kernel/cpu/zhaoxin.o
AR drivers/tty/serial/8250/built-in.a
CC io_uring/fdinfo.o
CC sound/last.o
CC fs/lockd/svclock.o
AR drivers/gpu/drm/renesas/rcar-du/built-in.a
AR drivers/gpu/drm/renesas/rz-du/built-in.a
AR drivers/gpu/drm/renesas/built-in.a
CC drivers/tty/tty_buffer.o
CC drivers/gpu/drm/ttm/ttm_bo.o
CC net/core/sock_diag.o
CC drivers/acpi/acpica/hwacpi.o
CC drivers/base/power/runtime.o
CC crypto/authenc.o
AR kernel/bpf/built-in.a
CC kernel/trace/trace_stat.o
CC fs/nls/nls_iso8859-1.o
CC drivers/gpu/drm/i915/i915_driver.o
CC net/ipv4/tcp_ipv4.o
AR fs/unicode/built-in.a
CC net/ipv4/tcp_minisocks.o
CC drivers/tty/serial/earlycon.o
CC drivers/base/regmap/regmap.o
AR drivers/base/test/built-in.a
CC lib/decompress_unlz4.o
CC fs/ext4/hash.o
CC [M] sound/hda/intel-sdw-acpi.o
CC arch/x86/kernel/cpu/vortex.o
CC drivers/gpu/drm/ttm/ttm_bo_util.o
AR drivers/gpu/drm/omapdrm/built-in.a
CC net/sunrpc/timer.o
CC drivers/acpi/acpica/hwesleep.o
CC fs/autofs/init.o
CC block/blk-iolatency.o
CC fs/nls/nls_utf8.o
CC net/ethtool/pse-pd.o
CC kernel/cgroup/pids.o
CC io_uring/cancel.o
CC net/wireless/ethtool.o
AR fs/proc/built-in.a
CC kernel/trace/trace_printk.o
AR drivers/char/built-in.a
AR drivers/block/built-in.a
CC arch/x86/kernel/traps.o
CC drivers/tty/tty_port.o
CC net/netfilter/nf_conntrack_sip.o
CC arch/x86/kernel/cpu/perfctr-watchdog.o
AR drivers/base/firmware_loader/built-in.a
CC arch/x86/kernel/cpu/vmware.o
CC io_uring/waitid.o
CC net/mac80211/agg-rx.o
CC kernel/exec_domain.o
CC drivers/acpi/acpica/hwgpe.o
CC lib/decompress_unlzma.o
AR fs/nls/built-in.a
CC drivers/base/regmap/regcache.o
CC block/blk-iocost.o
LD [M] sound/hda/snd-hda-core.o
LD [M] sound/hda/snd-intel-dspcfg.o
LD [M] sound/hda/snd-intel-sdw-acpi.o
AR sound/built-in.a
AR drivers/gpu/drm/tilcdc/built-in.a
CC drivers/gpu/drm/i915/i915_drm_client.o
CC net/netfilter/nf_nat_core.o
CC net/netfilter/nf_nat_proto.o
AR drivers/tty/serial/built-in.a
CC kernel/panic.o
CC drivers/gpu/drm/i915/i915_getparam.o
CC crypto/authencesn.o
CC fs/autofs/inode.o
CC drivers/base/power/wakeirq.o
CC mm/mmap_lock.o
CC lib/decompress_unlzo.o
CC drivers/gpu/drm/i915/i915_ioctl.o
CC drivers/gpu/drm/display/drm_hdmi_helper.o
CC fs/ext4/ialloc.o
CC kernel/cgroup/rdma.o
CC drivers/gpu/drm/i915/i915_irq.o
CC fs/lockd/svcshare.o
CC drivers/acpi/acpica/hwregs.o
CC drivers/acpi/device_pm.o
CC drivers/gpu/drm/ttm/ttm_bo_vm.o
CC net/sunrpc/xdr.o
CC drivers/acpi/proc.o
CC arch/x86/kernel/cpu/hypervisor.o
CC net/ipv6/ndisc.o
CC kernel/trace/pid_list.o
CC net/ethtool/plca.o
CC net/ipv6/udp.o
CC fs/nfs/super.o
CC drivers/tty/tty_mutex.o
CC drivers/base/regmap/regcache-rbtree.o
CC net/core/dev_ioctl.o
CC io_uring/register.o
CC drivers/base/power/main.o
CC arch/x86/kernel/cpu/mshyperv.o
CC drivers/base/component.o
CC drivers/acpi/acpica/hwsleep.o
CC net/mac80211/vht.o
CC kernel/cpu.o
CC lib/decompress_unxz.o
CC net/core/tso.o
CC drivers/gpu/drm/virtio/virtgpu_drv.o
CC drivers/base/regmap/regcache-flat.o
CC net/sunrpc/sunrpc_syms.o
CC crypto/lzo.o
CC drivers/gpu/drm/display/drm_scdc_helper.o
CC drivers/acpi/bus.o
CC fs/autofs/root.o
CC kernel/cgroup/cpuset.o
CC net/core/sock_reuseport.o
CC mm/highmem.o
CC kernel/trace/trace_sched_switch.o
CC drivers/gpu/drm/ttm/ttm_module.o
CC kernel/events/ring_buffer.o
CC drivers/acpi/acpica/hwvalid.o
AR drivers/misc/eeprom/built-in.a
CC kernel/events/callchain.o
AR drivers/misc/cb710/built-in.a
AR drivers/misc/ti-st/built-in.a
AR drivers/misc/lis3lv02d/built-in.a
AR drivers/misc/cardreader/built-in.a
AR drivers/misc/keba/built-in.a
AR drivers/misc/built-in.a
CC fs/lockd/svcproc.o
CC drivers/tty/tty_ldsem.o
CC drivers/gpu/drm/ttm/ttm_execbuf_util.o
CC drivers/base/core.o
CC lib/decompress_unzstd.o
CC drivers/gpu/drm/virtio/virtgpu_kms.o
CC drivers/base/power/wakeup.o
CC net/ipv6/udplite.o
CC net/mac80211/he.o
CC crypto/lzo-rle.o
CC drivers/base/bus.o
CC drivers/acpi/acpica/hwxface.o
AR net/ethtool/built-in.a
CC net/ipv4/tcp_cong.o
AR drivers/mfd/built-in.a
CC kernel/trace/trace_nop.o
CC drivers/gpu/drm/i915/i915_mitigations.o
CC net/netfilter/nf_nat_helper.o
CC drivers/base/power/wakeup_stats.o
CC arch/x86/kernel/cpu/debugfs.o
CC kernel/cgroup/misc.o
CC net/sunrpc/cache.o
AR drivers/gpu/drm/display/built-in.a
CC drivers/gpu/drm/virtio/virtgpu_gem.o
CC fs/autofs/symlink.o
CC fs/autofs/waitq.o
AR drivers/nfc/built-in.a
CC fs/nfs/io.o
CC lib/dump_stack.o
CC net/core/fib_notifier.o
CC drivers/acpi/acpica/hwxfsleep.o
CC drivers/base/regmap/regcache-maple.o
CC drivers/gpu/drm/ttm/ttm_range_manager.o
CC drivers/base/regmap/regmap-debugfs.o
CC drivers/gpu/drm/ttm/ttm_resource.o
CC drivers/tty/tty_baudrate.o
CC kernel/events/hw_breakpoint.o
CC mm/memory.o
CC drivers/tty/tty_jobctrl.o
CC crypto/rng.o
CC drivers/tty/n_null.o
CC block/mq-deadline.o
CC arch/x86/kernel/cpu/capflags.o
CC drivers/acpi/glue.o
CC net/mac80211/s1g.o
CC io_uring/truncate.o
CC fs/ext4/indirect.o
CC arch/x86/kernel/idt.o
AR arch/x86/kernel/cpu/built-in.a
CC net/netfilter/nf_nat_masquerade.o
CC drivers/acpi/acpica/hwpci.o
CC kernel/cgroup/debug.o
CC kernel/events/uprobes.o
CC crypto/drbg.o
CC net/ipv4/tcp_metrics.o
CC fs/lockd/svcsubs.o
CC net/wireless/mesh.o
CC drivers/gpu/drm/i915/i915_module.o
CC kernel/trace/blktrace.o
CC drivers/gpu/drm/virtio/virtgpu_vram.o
CC drivers/base/power/trace.o
AR drivers/gpu/drm/imx/built-in.a
CC drivers/acpi/scan.o
CC mm/mincore.o
CC lib/earlycpio.o
CC lib/extable.o
CC crypto/jitterentropy.o
CC fs/9p/vfs_super.o
CC fs/nfs/direct.o
CC fs/autofs/expire.o
AR drivers/dax/hmem/built-in.a
CC block/kyber-iosched.o
AR drivers/dax/built-in.a
CC block/blk-mq-pci.o
CC drivers/acpi/acpica/nsaccess.o
AR drivers/base/regmap/built-in.a
CC drivers/acpi/acpica/nsalloc.o
CC mm/mlock.o
CC net/ipv6/raw.o
CC fs/9p/vfs_inode.o
CC kernel/trace/trace_events.o
CC drivers/tty/pty.o
CC drivers/gpu/drm/i915/i915_params.o
CC fs/lockd/mon.o
CC fs/nfs/pagelist.o
CC net/wireless/ap.o
CC drivers/gpu/drm/ttm/ttm_pool.o
AR drivers/gpu/drm/i2c/built-in.a
CC drivers/gpu/drm/virtio/virtgpu_display.o
CC fs/autofs/dev-ioctl.o
CC arch/x86/kernel/irq.o
CC lib/flex_proportions.o
CC drivers/tty/tty_audit.o
AR drivers/gpu/drm/panel/built-in.a
CC kernel/trace/trace_export.o
CC block/blk-mq-virtio.o
CC io_uring/memmap.o
CC drivers/acpi/acpica/nsarguments.o
CC drivers/acpi/mipi-disco-img.o
AR kernel/cgroup/built-in.a
CC kernel/exit.o
AR fs/hostfs/built-in.a
CC drivers/gpu/drm/ttm/ttm_device.o
AR drivers/base/power/built-in.a
CC crypto/jitterentropy-kcapi.o
CC fs/nfs/read.o
CC mm/mmap.o
CC net/core/xdp.o
CC io_uring/io-wq.o
AR drivers/gpu/drm/bridge/analogix/built-in.a
AR drivers/gpu/drm/bridge/cadence/built-in.a
CC lib/idr.o
AR drivers/gpu/drm/bridge/imx/built-in.a
AR drivers/gpu/drm/bridge/synopsys/built-in.a
AR drivers/gpu/drm/bridge/built-in.a
CC crypto/ghash-generic.o
CC drivers/dma-buf/dma-buf.o
AR drivers/cxl/core/built-in.a
AR drivers/cxl/built-in.a
CC drivers/acpi/acpica/nsconvert.o
CC net/sunrpc/rpc_pipe.o
CC fs/nfs/symlink.o
CC net/netfilter/nf_nat_ftp.o
CC drivers/base/dd.o
CC lib/irq_regs.o
CC drivers/gpu/drm/virtio/virtgpu_vq.o
CC drivers/gpu/drm/virtio/virtgpu_fence.o
AR drivers/gpu/drm/hisilicon/built-in.a
CC drivers/gpu/drm/i915/i915_pci.o
CC kernel/softirq.o
CC drivers/dma-buf/dma-fence.o
CC drivers/tty/sysrq.o
CC fs/ext4/inline.o
CC net/core/flow_offload.o
AR fs/autofs/built-in.a
CC net/netfilter/nf_nat_irc.o
CC net/mac80211/ibss.o
CC net/wireless/trace.o
CC io_uring/futex.o
CC fs/9p/vfs_inode_dotl.o
CC net/ipv4/tcp_fastopen.o
CC drivers/acpi/acpica/nsdump.o
CC crypto/hash_info.o
CC net/ipv6/icmp.o
CC crypto/rsapubkey.asn1.o
CC net/ipv6/mcast.o
AR kernel/events/built-in.a
AR drivers/gpu/drm/mxsfb/built-in.a
CC kernel/trace/trace_event_perf.o
CC crypto/rsaprivkey.asn1.o
CC arch/x86/kernel/irq_32.o
CC drivers/gpu/drm/ttm/ttm_sys_manager.o
CC fs/lockd/trace.o
AR crypto/built-in.a
CC fs/ext4/inode.o
CC lib/is_single_threaded.o
CC drivers/base/syscore.o
CC net/mac80211/iface.o
CC fs/9p/vfs_addr.o
CC block/blk-mq-debugfs.o
CC drivers/acpi/acpica/nseval.o
CC drivers/gpu/drm/ttm/ttm_agp_backend.o
CC lib/klist.o
CC block/blk-pm.o
CC net/ipv4/tcp_rate.o
CC net/wireless/ocb.o
CC drivers/macintosh/mac_hid.o
CC mm/mmu_gather.o
CC kernel/trace/trace_events_filter.o
CC net/ipv6/reassembly.o
CC drivers/acpi/acpica/nsinit.o
CC net/core/gro.o
CC drivers/gpu/drm/i915/i915_scatterlist.o
AR drivers/tty/built-in.a
CC net/sunrpc/sysfs.o
CC lib/kobject.o
CC lib/kobject_uevent.o
CC fs/ext4/ioctl.o
CC net/core/netdev-genl.o
AR drivers/gpu/drm/tiny/built-in.a
CC fs/nfs/unlink.o
CC arch/x86/kernel/dumpstack_32.o
CC drivers/base/driver.o
CC drivers/gpu/drm/virtio/virtgpu_object.o
CC io_uring/napi.o
CC block/holder.o
CC drivers/dma-buf/dma-fence-array.o
CC net/netfilter/nf_nat_sip.o
CC net/wireless/pmsr.o
CC fs/lockd/xdr.o
CC drivers/gpu/drm/virtio/virtgpu_debugfs.o
CC net/ipv6/tcp_ipv6.o
CC fs/9p/vfs_file.o
CC net/ipv4/tcp_recovery.o
CC fs/lockd/clnt4xdr.o
CC drivers/acpi/acpica/nsload.o
AR drivers/gpu/drm/ttm/built-in.a
CC drivers/acpi/resource.o
CC drivers/acpi/acpica/nsnames.o
CC lib/logic_pio.o
AR drivers/macintosh/built-in.a
CC net/core/netdev-genl-gen.o
CC kernel/resource.o
CC kernel/trace/trace_events_trigger.o
CC drivers/base/class.o
CC drivers/gpu/drm/i915/i915_suspend.o
CC fs/ext4/mballoc.o
CC arch/x86/kernel/time.o
CC net/netfilter/x_tables.o
CC drivers/acpi/acpica/nsobject.o
CC net/mac80211/link.o
CC kernel/trace/trace_eprobe.o
CC net/netfilter/xt_tcpudp.o
CC drivers/acpi/acpi_processor.o
CC drivers/dma-buf/dma-fence-chain.o
CC net/ipv4/tcp_ulp.o
CC fs/ext4/migrate.o
CC fs/9p/vfs_dir.o
CC fs/lockd/xdr4.o
AR block/built-in.a
CC drivers/base/platform.o
CC fs/nfs/write.o
CC net/netfilter/xt_CONNSECMARK.o
CC mm/mprotect.o
CC net/sunrpc/svc_xprt.o
CC drivers/gpu/drm/virtio/virtgpu_plane.o
CC arch/x86/kernel/ioport.o
CC kernel/trace/trace_kprobe.o
CC drivers/acpi/acpica/nsparse.o
CC net/mac80211/rate.o
CC fs/debugfs/inode.o
CC lib/maple_tree.o
CC net/ipv4/tcp_offload.o
AR drivers/scsi/pcmcia/built-in.a
CC drivers/scsi/scsi.o
CC fs/ext4/mmp.o
CC kernel/trace/error_report-traces.o
CC drivers/dma-buf/dma-fence-unwrap.o
CC arch/x86/kernel/dumpstack.o
GEN net/wireless/shipped-certs.c
CC net/netfilter/xt_NFLOG.o
CC mm/mremap.o
CC drivers/acpi/acpica/nspredef.o
CC fs/9p/vfs_dentry.o
CC net/core/gso.o
CC drivers/dma-buf/dma-resv.o
AR io_uring/built-in.a
CC lib/memcat_p.o
CC fs/nfs/namespace.o
CC kernel/sysctl.o
CC kernel/trace/power-traces.o
CC drivers/gpu/drm/i915/i915_switcheroo.o
CC fs/ext4/move_extent.o
CC fs/debugfs/file.o
CC drivers/gpu/drm/virtio/virtgpu_ioctl.o
CC net/sunrpc/xprtmultipath.o
CC drivers/gpu/drm/virtio/virtgpu_prime.o
CC drivers/dma-buf/sync_file.o
CC drivers/acpi/acpica/nsprepkg.o
CC arch/x86/kernel/nmi.o
CC fs/tracefs/inode.o
CC drivers/base/cpu.o
CC [M] fs/efivarfs/inode.o
CC net/sunrpc/stats.o
CC fs/lockd/svc4proc.o
CC drivers/scsi/hosts.o
CC net/core/net-sysfs.o
CC net/core/hotdata.o
CC lib/nmi_backtrace.o
CC net/ipv4/tcp_plb.o
CC drivers/scsi/scsi_ioctl.o
CC fs/9p/v9fs.o
CC drivers/acpi/acpica/nsrepair.o
CC [M] fs/efivarfs/file.o
CC kernel/capability.o
CC net/ipv6/ping.o
AR drivers/gpu/drm/xlnx/built-in.a
CC kernel/trace/rpm-traces.o
CC arch/x86/kernel/ldt.o
CC net/netfilter/xt_SECMARK.o
AR drivers/dma-buf/built-in.a
CC kernel/ptrace.o
CC kernel/user.o
CC mm/msync.o
CC net/netfilter/xt_TCPMSS.o
CC drivers/gpu/drm/i915/i915_sysfs.o
CC drivers/acpi/acpica/nsrepair2.o
AR drivers/nvme/common/built-in.a
CC fs/ext4/namei.o
AR drivers/nvme/host/built-in.a
CC fs/9p/fid.o
AR drivers/nvme/target/built-in.a
AR drivers/nvme/built-in.a
CC drivers/ata/libata-core.o
AR drivers/net/phy/qcom/built-in.a
CC net/ipv4/datagram.o
CC net/core/net-procfs.o
CC drivers/net/phy/mdio-boardinfo.o
CC drivers/gpu/drm/virtio/virtgpu_trace_points.o
CC net/mac80211/michael.o
CC net/netfilter/xt_conntrack.o
AR drivers/gpu/drm/gud/built-in.a
CC kernel/signal.o
CC [M] fs/efivarfs/super.o
CC drivers/gpu/drm/virtio/virtgpu_submit.o
CC drivers/base/firmware.o
CC net/sunrpc/sysctl.o
CC fs/tracefs/event_inode.o
CC kernel/trace/trace_dynevent.o
CC drivers/acpi/processor_core.o
CC drivers/ata/libata-scsi.o
AR fs/debugfs/built-in.a
CC fs/nfs/mount_clnt.o
CC arch/x86/kernel/setup.o
CC drivers/net/phy/stubs.o
CC drivers/gpu/drm/i915/i915_utils.o
CC drivers/scsi/scsicam.o
CC fs/ext4/page-io.o
CC drivers/acpi/acpica/nssearch.o
CC fs/lockd/procfs.o
CC drivers/base/init.o
CC mm/page_vma_mapped.o
CC drivers/ata/libata-eh.o
CC kernel/sys.o
CC lib/objpool.o
CC arch/x86/kernel/x86_init.o
CC drivers/scsi/scsi_error.o
CC fs/ext4/readpage.o
CC drivers/acpi/acpica/nsutils.o
CC fs/9p/xattr.o
CC mm/pagewalk.o
CC net/ipv6/exthdrs.o
CC kernel/umh.o
CC net/netfilter/xt_policy.o
CC [M] fs/efivarfs/vars.o
CC fs/open.o
CC fs/ext4/resize.o
CC net/mac80211/tkip.o
AR drivers/gpu/drm/solomon/built-in.a
AR drivers/net/pse-pd/built-in.a
CC fs/nfs/nfstrace.o
AR drivers/gpu/drm/virtio/built-in.a
CC kernel/trace/trace_probe.o
CC mm/pgtable-generic.o
CC drivers/acpi/processor_pdc.o
CC drivers/ata/libata-transport.o
CC fs/file_table.o
CC fs/read_write.o
CC fs/ext4/super.o
CC net/core/netpoll.o
AR fs/tracefs/built-in.a
CC drivers/net/phy/mdio_devres.o
CC drivers/ata/libata-trace.o
CC net/ipv4/raw.o
CC net/ipv6/datagram.o
CC drivers/base/map.o
AR fs/lockd/built-in.a
CC drivers/acpi/acpica/nswalk.o
CC drivers/acpi/ec.o
CC drivers/acpi/dock.o
CC drivers/acpi/pci_root.o
CC lib/plist.o
CC mm/rmap.o
CC mm/vmalloc.o
CC drivers/gpu/drm/i915/intel_clock_gating.o
CC arch/x86/kernel/i8259.o
CC lib/radix-tree.o
CC [M] drivers/gpu/drm/scheduler/sched_main.o
CC drivers/scsi/scsi_lib.o
CC arch/x86/kernel/irqinit.o
CC [M] drivers/gpu/drm/scheduler/sched_fence.o
AR fs/9p/built-in.a
CC drivers/scsi/constants.o
CC net/ipv4/udp.o
CC net/ipv6/ip6_flowlabel.o
CC net/mac80211/aes_cmac.o
CC drivers/acpi/acpica/nsxfeval.o
CC drivers/base/devres.o
LD [M] fs/efivarfs/efivarfs.o
CC drivers/base/attribute_container.o
CC drivers/gpu/drm/i915/intel_device_info.o
AR net/sunrpc/built-in.a
CC net/wireless/shipped-certs.o
CC mm/process_vm_access.o
CC drivers/net/mdio/acpi_mdio.o
CC drivers/net/phy/phy.o
CC kernel/workqueue.o
CC net/netfilter/xt_state.o
CC net/core/fib_rules.o
CC drivers/ata/libata-sata.o
CC drivers/acpi/acpica/nsxfname.o
CC lib/ratelimit.o
CC net/ipv6/inet6_connection_sock.o
CC net/ipv4/udplite.o
CC mm/page_alloc.o
CC net/mac80211/aes_gmac.o
CC arch/x86/kernel/jump_label.o
CC drivers/gpu/drm/i915/intel_memory_region.o
HOSTCC drivers/gpu/drm/xe/xe_gen_wa_oob
CC net/core/net-traces.o
CC fs/super.o
CC [M] drivers/gpu/drm/scheduler/sched_entity.o
CC [M] net/netfilter/nf_log_syslog.o
CC drivers/net/mdio/fwnode_mdio.o
GEN xe_wa_oob.c xe_wa_oob.h
CC [M] drivers/gpu/drm/xe/xe_bb.o
CC drivers/base/transport_class.o
CC kernel/trace/trace_uprobe.o
CC net/ipv4/udp_offload.o
CC drivers/acpi/acpica/nsxfobj.o
CC drivers/net/phy/phy-c45.o
CC drivers/gpu/drm/drm_aperture.o
CC net/ipv6/udp_offload.o
CC drivers/ata/libata-sff.o
CC [M] net/netfilter/xt_mark.o
CC drivers/base/topology.o
CC drivers/base/container.o
CC kernel/pid.o
CC kernel/task_work.o
CC net/ipv4/arp.o
CC net/core/selftests.o
CC drivers/gpu/drm/drm_atomic.o
AR drivers/net/pcs/built-in.a
CC [M] net/netfilter/xt_nat.o
CC drivers/acpi/pci_link.o
CC drivers/net/phy/phy-core.o
CC mm/init-mm.o
CC arch/x86/kernel/irq_work.o
CC drivers/acpi/acpica/psargs.o
CC mm/memblock.o
CC drivers/acpi/acpica/psloop.o
LD [M] drivers/gpu/drm/scheduler/gpu-sched.o
CC fs/ext4/symlink.o
CC [M] drivers/gpu/drm/xe/xe_bo.o
CC fs/nfs/export.o
CC drivers/gpu/drm/i915/intel_pcode.o
CC drivers/scsi/scsi_lib_dma.o
CC net/core/ptp_classifier.o
CC drivers/acpi/pci_irq.o
CC net/ipv4/icmp.o
CC fs/ext4/sysfs.o
AR drivers/net/mdio/built-in.a
CC drivers/net/phy/phy_device.o
CC drivers/gpu/drm/drm_atomic_uapi.o
CC drivers/net/phy/linkmode.o
CC drivers/scsi/scsi_scan.o
CC drivers/base/property.o
CC net/mac80211/fils_aead.o
CC mm/slub.o
CC drivers/acpi/acpica/psobject.o
CC [M] net/netfilter/xt_LOG.o
CC fs/char_dev.o
CC [M] drivers/gpu/drm/xe/xe_bo_evict.o
CC net/ipv4/devinet.o
AR drivers/net/ethernet/3com/built-in.a
CC drivers/net/ethernet/8390/ne2k-pci.o
CC net/ipv6/seg6.o
AR drivers/net/ethernet/adaptec/built-in.a
CC net/mac80211/cfg.o
CC drivers/base/cacheinfo.o
CC lib/rbtree.o
CC arch/x86/kernel/probe_roms.o
CC drivers/acpi/acpica/psopcode.o
CC drivers/gpu/drm/i915/intel_region_ttm.o
CC drivers/ata/libata-pmp.o
CC fs/nfs/sysfs.o
CC drivers/net/ethernet/8390/8390.o
CC net/mac80211/ethtool.o
CC fs/ext4/xattr.o
CC drivers/gpu/drm/i915/intel_runtime_pm.o
CC drivers/acpi/acpica/psopinfo.o
CC drivers/base/swnode.o
CC net/ipv6/fib6_notifier.o
AR drivers/net/ethernet/agere/built-in.a
CC kernel/extable.o
CC fs/nfs/fs_context.o
GEN drivers/scsi/scsi_devinfo_tbl.c
CC kernel/trace/rethook.o
CC lib/seq_buf.o
CC [M] net/netfilter/xt_MASQUERADE.o
CC lib/siphash.o
CC net/ipv4/af_inet.o
CC drivers/net/phy/mdio_bus.o
CC drivers/acpi/acpi_apd.o
CC net/mac80211/rx.o
AR drivers/net/ethernet/alacritech/built-in.a
AR drivers/net/ethernet/alteon/built-in.a
CC arch/x86/kernel/sys_ia32.o
CC net/mac80211/spectmgmt.o
CC drivers/acpi/acpi_platform.o
CC drivers/acpi/acpica/psparse.o
CC net/core/netprio_cgroup.o
CC kernel/params.o
CC drivers/scsi/scsi_devinfo.o
CC fs/nfs/nfsroot.o
CC net/mac80211/tx.o
CC drivers/gpu/drm/drm_auth.o
CC drivers/ata/libata-acpi.o
AR drivers/net/wireless/admtek/built-in.a
CC kernel/kthread.o
AR drivers/net/wireless/ath/built-in.a
AR drivers/net/wireless/atmel/built-in.a
CC fs/nfs/sysctl.o
AR drivers/net/wireless/broadcom/built-in.a
AR drivers/net/wireless/intel/built-in.a
AR drivers/net/wireless/intersil/built-in.a
AR drivers/net/wireless/marvell/built-in.a
AR drivers/net/wireless/mediatek/built-in.a
CC kernel/sys_ni.o
AR drivers/net/wireless/microchip/built-in.a
AR drivers/net/wireless/purelifi/built-in.a
AR drivers/net/wireless/quantenna/built-in.a
AR drivers/net/wireless/ralink/built-in.a
AR drivers/net/wireless/realtek/built-in.a
AR drivers/net/wireless/rsi/built-in.a
AR drivers/net/wireless/silabs/built-in.a
CC lib/string.o
CC drivers/gpu/drm/drm_blend.o
AR drivers/net/wireless/st/built-in.a
AR drivers/net/wireless/ti/built-in.a
AR drivers/net/wireless/zydas/built-in.a
AR drivers/net/wireless/virtual/built-in.a
AR drivers/net/wireless/built-in.a
CC drivers/acpi/acpica/psscope.o
CC drivers/firewire/init_ohci1394_dma.o
CC drivers/acpi/acpica/pstree.o
AR drivers/net/ethernet/amazon/built-in.a
CC drivers/net/phy/mdio_device.o
CC net/mac80211/key.o
AR kernel/trace/built-in.a
CC [M] drivers/gpu/drm/xe/xe_devcoredump.o
CC drivers/base/auxiliary.o
CC drivers/acpi/acpica/psutils.o
CC drivers/acpi/acpica/pswalk.o
CC lib/timerqueue.o
CC net/mac80211/util.o
CC mm/madvise.o
CC net/ipv6/rpl.o
CC arch/x86/kernel/ksysfs.o
CC drivers/scsi/scsi_sysctl.o
CC fs/stat.o
AR drivers/net/ethernet/8390/built-in.a
AR drivers/net/ethernet/amd/built-in.a
AR drivers/net/ethernet/aquantia/built-in.a
AR drivers/net/ethernet/arc/built-in.a
CC [M] drivers/gpu/drm/xe/xe_device.o
AR drivers/net/ethernet/asix/built-in.a
AR drivers/net/ethernet/atheros/built-in.a
AR drivers/net/ethernet/cadence/built-in.a
CC drivers/net/ethernet/broadcom/bnx2.o
AR drivers/net/usb/built-in.a
CC drivers/net/mii.o
CC [M] drivers/gpu/drm/xe/xe_device_sysfs.o
CC lib/vsprintf.o
CC drivers/net/loopback.o
CC drivers/gpu/drm/i915/intel_sbi.o
CC [M] net/netfilter/xt_addrtype.o
CC fs/exec.o
CC drivers/gpu/drm/drm_bridge.o
CC kernel/nsproxy.o
CC drivers/acpi/acpica/psxface.o
CC drivers/cdrom/cdrom.o
CC drivers/base/devtmpfs.o
CC arch/x86/kernel/bootflag.o
CC fs/nfs/nfs3super.o
CC drivers/net/ethernet/broadcom/tg3.o
CC drivers/net/netconsole.o
AR drivers/firewire/built-in.a
CC drivers/gpu/drm/i915/intel_step.o
AR drivers/net/ethernet/brocade/built-in.a
CC lib/win_minmax.o
CC lib/xarray.o
CC drivers/net/phy/swphy.o
CC drivers/scsi/scsi_proc.o
CC arch/x86/kernel/e820.o
CC drivers/acpi/acpica/rsaddr.o
CC mm/page_io.o
CC drivers/ata/libata-pata-timings.o
CC drivers/gpu/drm/i915/intel_uncore.o
CC drivers/net/virtio_net.o
CC net/core/netclassid_cgroup.o
CC kernel/notifier.o
CC fs/pipe.o
CC fs/ext4/xattr_hurd.o
CC drivers/gpu/drm/i915/intel_wakeref.o
CC drivers/acpi/acpica/rscalc.o
CC drivers/base/module.o
CC net/ipv6/ioam6.o
AR drivers/auxdisplay/built-in.a
CC drivers/scsi/scsi_debugfs.o
CC fs/ext4/xattr_trusted.o
CC fs/nfs/nfs3client.o
CC drivers/net/phy/fixed_phy.o
CC mm/swap_state.o
CC [M] drivers/gpu/drm/xe/xe_dma_buf.o
CC net/mac80211/parse.o
CC net/core/dst_cache.o
CC net/ipv4/igmp.o
CC lib/lockref.o
CC drivers/net/phy/realtek.o
CC drivers/acpi/acpica/rscreate.o
CC drivers/base/auxiliary_sysfs.o
CC drivers/scsi/scsi_trace.o
CC drivers/net/net_failover.o
CC drivers/ata/ahci.o
CC drivers/ata/libahci.o
AR net/netfilter/built-in.a
CC lib/bcd.o
CC fs/nfs/nfs3proc.o
CC drivers/gpu/drm/i915/vlv_sideband.o
CC drivers/acpi/acpica/rsdumpinfo.o
CC net/core/gro_cells.o
CC [M] drivers/gpu/drm/xe/xe_drm_client.o
CC kernel/ksysfs.o
CC drivers/acpi/acpi_pnp.o
AR drivers/net/ethernet/cavium/common/built-in.a
AR drivers/net/ethernet/chelsio/built-in.a
AR drivers/net/ethernet/cavium/thunder/built-in.a
CC drivers/base/devcoredump.o
AR drivers/net/ethernet/cavium/liquidio/built-in.a
AR drivers/net/ethernet/cavium/octeon/built-in.a
AR drivers/net/ethernet/cavium/built-in.a
CC drivers/acpi/power.o
CC fs/ext4/xattr_user.o
CC net/core/failover.o
CC mm/swapfile.o
CC drivers/acpi/acpica/rsinfo.o
CC net/ipv4/fib_frontend.o
CC arch/x86/kernel/pci-dma.o
CC net/mac80211/wme.o
CC drivers/ata/ata_piix.o
CC fs/namei.o
CC drivers/ata/pata_amd.o
CC mm/swap_slots.o
AR drivers/net/ethernet/cisco/built-in.a
CC drivers/acpi/event.o
CC kernel/cred.o
CC drivers/acpi/acpica/rsio.o
CC fs/nfs/nfs3xdr.o
AR drivers/cdrom/built-in.a
CC drivers/scsi/scsi_logging.o
CC fs/fcntl.o
CC mm/dmapool.o
CC net/ipv4/fib_semantics.o
CC kernel/reboot.o
CC drivers/acpi/acpica/rsirq.o
CC drivers/acpi/acpica/rslist.o
AR net/wireless/built-in.a
CC fs/ext4/fast_commit.o
CC drivers/base/platform-msi.o
CC drivers/ata/pata_oldpiix.o
CC drivers/gpu/drm/drm_cache.o
CC arch/x86/kernel/quirks.o
CC drivers/gpu/drm/i915/vlv_suspend.o
AR drivers/net/phy/built-in.a
AR drivers/net/ethernet/cortina/built-in.a
CC fs/ioctl.o
CC lib/sort.o
CC kernel/async.o
CC [M] drivers/gpu/drm/xe/xe_exec.o
CC drivers/pcmcia/cs.o
CC net/ipv6/sysctl_net_ipv6.o
CC [M] drivers/gpu/drm/xe/xe_execlist.o
CC net/ipv4/fib_trie.o
CC net/mac80211/chan.o
AR net/core/built-in.a
CC drivers/pcmcia/socket_sysfs.o
CC net/mac80211/trace.o
CC drivers/acpi/acpica/rsmemory.o
CC drivers/base/physical_location.o
CC drivers/acpi/evged.o
CC drivers/gpu/drm/drm_client.o
CC drivers/ata/pata_sch.o
CC fs/nfs/nfs3acl.o
CC drivers/gpu/drm/i915/soc/intel_dram.o
CC net/ipv4/fib_notifier.o
CC drivers/pcmcia/cardbus.o
CC lib/parser.o
CC drivers/scsi/scsi_pm.o
CC drivers/acpi/acpica/rsmisc.o
CC arch/x86/kernel/kdebugfs.o
CC net/ipv6/xfrm6_policy.o
AR drivers/net/ethernet/dlink/built-in.a
AR drivers/net/ethernet/dec/tulip/built-in.a
AR drivers/net/ethernet/dec/built-in.a
AR drivers/net/ethernet/emulex/built-in.a
CC lib/debug_locks.o
CC [M] drivers/gpu/drm/xe/xe_exec_queue.o
CC [M] drivers/gpu/drm/xe/xe_force_wake.o
CC fs/readdir.o
CC fs/nfs/nfs4proc.o
CC lib/random32.o
CC net/ipv4/inet_fragment.o
CC drivers/gpu/drm/i915/soc/intel_gmch.o
CC [M] drivers/gpu/drm/xe/xe_ggtt.o
CC kernel/range.o
CC drivers/base/trace.o
CC drivers/gpu/drm/drm_client_modeset.o
CC drivers/acpi/acpica/rsserial.o
CC fs/select.o
CC net/mac80211/mlme.o
CC kernel/smpboot.o
CC mm/hugetlb.o
CC drivers/usb/common/common.o
CC lib/bust_spinlocks.o
CC drivers/usb/core/usb.o
CC drivers/usb/common/debug.o
CC drivers/ata/pata_mpiix.o
CC drivers/pcmcia/ds.o
CC drivers/scsi/scsi_bsg.o
CC lib/kasprintf.o
CC drivers/gpu/drm/i915/soc/intel_pch.o
CC arch/x86/kernel/alternative.o
CC mm/mmu_notifier.o
AR drivers/net/ethernet/engleder/built-in.a
CC drivers/acpi/acpica/rsutils.o
CC drivers/acpi/sysfs.o
CC mm/migrate.o
CC arch/x86/kernel/i8253.o
CC [M] drivers/gpu/drm/xe/xe_gpu_scheduler.o
CC drivers/pcmcia/pcmcia_resource.o
CC net/mac80211/tdls.o
CC kernel/ucount.o
CC net/ipv6/xfrm6_state.o
CC net/ipv6/xfrm6_input.o
AR drivers/net/ethernet/ezchip/built-in.a
CC drivers/ata/ata_generic.o
CC net/ipv4/ping.o
CC lib/bitmap.o
AR drivers/base/built-in.a
CC arch/x86/kernel/hw_breakpoint.o
CC arch/x86/kernel/tsc.o
CC fs/ext4/orphan.o
CC drivers/acpi/acpica/rsxface.o
CC drivers/usb/core/hub.o
CC net/ipv4/ip_tunnel_core.o
CC drivers/scsi/scsi_common.o
CC net/ipv6/xfrm6_output.o
CC net/mac80211/ocb.o
AR drivers/usb/common/built-in.a
CC drivers/gpu/drm/drm_color_mgmt.o
CC fs/dcache.o
CC fs/nfs/nfs4xdr.o
CC fs/nfs/nfs4state.o
AR drivers/usb/phy/built-in.a
CC mm/page_counter.o
CC drivers/acpi/acpica/tbdata.o
CC kernel/regset.o
CC drivers/gpu/drm/i915/i915_memcpy.o
CC fs/nfs/nfs4renewd.o
CC net/ipv4/gre_offload.o
CC drivers/gpu/drm/drm_connector.o
CC drivers/acpi/acpica/tbfadt.o
CC drivers/usb/mon/mon_main.o
CC fs/nfs/nfs4super.o
CC drivers/usb/host/pci-quirks.o
CC drivers/scsi/scsi_transport_spi.o
CC fs/inode.o
CC drivers/input/serio/serio.o
CC [M] drivers/gpu/drm/xe/xe_gsc.o
CC drivers/gpu/drm/i915/i915_mm.o
CC arch/x86/kernel/tsc_msr.o
CC drivers/usb/mon/mon_stat.o
CC drivers/usb/core/hcd.o
CC lib/scatterlist.o
AR drivers/ata/built-in.a
CC lib/list_sort.o
CC kernel/ksyms_common.o
CC drivers/acpi/acpica/tbfind.o
CC arch/x86/kernel/io_delay.o
CC drivers/scsi/virtio_scsi.o
CC drivers/usb/host/ehci-hcd.o
CC drivers/usb/mon/mon_text.o
CC net/mac80211/airtime.o
CC drivers/pcmcia/cistpl.o
CC drivers/acpi/acpica/tbinstal.o
CC drivers/usb/mon/mon_bin.o
CC drivers/acpi/acpica/tbprint.o
CC drivers/scsi/sd.o
CC fs/nfs/nfs4file.o
CC net/ipv4/metrics.o
CC drivers/usb/core/urb.o
CC [M] drivers/gpu/drm/xe/xe_gsc_debugfs.o
CC fs/ext4/acl.o
CC arch/x86/kernel/rtc.o
CC lib/uuid.o
CC drivers/usb/host/ehci-pci.o
CC net/ipv6/xfrm6_protocol.o
AR drivers/net/ethernet/fujitsu/built-in.a
CC drivers/usb/class/usblp.o
CC arch/x86/kernel/resource.o
CC drivers/acpi/property.o
CC drivers/gpu/drm/drm_crtc.o
CC drivers/acpi/acpica/tbutils.o
CC drivers/input/serio/i8042.o
CC drivers/input/serio/serport.o
CC kernel/groups.o
CC fs/nfs/delegation.o
CC drivers/pcmcia/pcmcia_cis.o
CC drivers/input/keyboard/atkbd.o
CC drivers/rtc/lib.o
CC mm/hugetlb_cgroup.o
CC drivers/gpu/drm/drm_displayid.o
CC drivers/gpu/drm/i915/i915_sw_fence.o
AR drivers/net/ethernet/fungible/built-in.a
CC drivers/gpu/drm/i915/i915_sw_fence_work.o
AS arch/x86/kernel/irqflags.o
CC drivers/acpi/acpica/tbxface.o
CC drivers/input/mouse/psmouse-base.o
CC drivers/acpi/debugfs.o
CC arch/x86/kernel/static_call.o
CC drivers/rtc/class.o
CC [M] drivers/gpu/drm/xe/xe_gsc_proxy.o
CC lib/iov_iter.o
CC lib/clz_ctz.o
CC fs/attr.o
CC kernel/kcmp.o
CC fs/ext4/xattr_security.o
AR drivers/usb/mon/built-in.a
CC drivers/rtc/interface.o
CC drivers/input/mouse/synaptics.o
CC drivers/acpi/acpi_lpat.o
CC [M] drivers/gpu/drm/xe/xe_gsc_submit.o
CC drivers/scsi/sr.o
CC mm/early_ioremap.o
CC arch/x86/kernel/process.o
CC net/mac80211/eht.o
CC drivers/acpi/acpica/tbxfload.o
CC drivers/usb/core/message.o
AR drivers/usb/class/built-in.a
CC net/ipv4/netlink.o
CC drivers/usb/core/driver.o
CC mm/secretmem.o
CC net/ipv6/netfilter.o
CC drivers/gpu/drm/i915/i915_syncmap.o
CC lib/bsearch.o
CC drivers/usb/host/ohci-hcd.o
CC drivers/acpi/acpi_pcc.o
CC drivers/rtc/nvmem.o
CC fs/bad_inode.o
CC net/ipv4/nexthop.o
CC drivers/pcmcia/rsrc_mgr.o
CC drivers/input/mouse/focaltech.o
CC drivers/acpi/acpica/tbxfroot.o
AR drivers/input/joystick/built-in.a
CC drivers/scsi/sr_ioctl.o
AR drivers/input/keyboard/built-in.a
CC [M] drivers/gpu/drm/xe/xe_gt.o
CC drivers/input/serio/libps2.o
CC drivers/gpu/drm/drm_drv.o
CC fs/file.o
CC drivers/pcmcia/rsrc_nonstatic.o
CC fs/nfs/nfs4idmap.o
CC drivers/gpu/drm/i915/i915_user_extensions.o
CC mm/hmm.o
CC drivers/pcmcia/yenta_socket.o
CC net/mac80211/led.o
CC kernel/freezer.o
CC drivers/acpi/acpica/utaddress.o
AR fs/ext4/built-in.a
CC net/ipv4/udp_tunnel_stub.o
CC drivers/usb/host/ohci-pci.o
CC [M] drivers/gpu/drm/xe/xe_gt_ccs_mode.o
AR drivers/net/ethernet/google/built-in.a
CC drivers/usb/storage/scsiglue.o
AR drivers/usb/misc/built-in.a
CC arch/x86/kernel/ptrace.o
CC kernel/profile.o
CC drivers/acpi/ac.o
CC drivers/usb/core/config.o
AR drivers/net/ethernet/huawei/built-in.a
CC drivers/usb/core/file.o
CC drivers/i2c/algos/i2c-algo-bit.o
CC kernel/stacktrace.o
CC drivers/gpu/drm/i915/i915_debugfs.o
CC drivers/usb/host/uhci-hcd.o
CC drivers/rtc/dev.o
CC drivers/usb/early/ehci-dbgp.o
CC net/ipv6/proc.o
CC arch/x86/kernel/tls.o
CC drivers/acpi/acpica/utalloc.o
CC drivers/usb/host/xhci.o
CC drivers/usb/core/buffer.o
CC drivers/input/mouse/alps.o
AR drivers/i3c/built-in.a
CC fs/filesystems.o
AR drivers/input/serio/built-in.a
CC drivers/usb/storage/protocol.o
CC drivers/scsi/sr_vendor.o
CC kernel/dma.o
CC drivers/gpu/drm/drm_dumb_buffers.o
CC drivers/rtc/proc.o
CC mm/memfd.o
CC [M] drivers/gpu/drm/xe/xe_gt_clock.o
CC drivers/acpi/acpica/utascii.o
CC drivers/gpu/drm/drm_edid.o
CC fs/namespace.o
CC arch/x86/kernel/step.o
CC drivers/usb/storage/transport.o
CC drivers/scsi/sg.o
CC drivers/acpi/acpica/utbuffer.o
CC [M] drivers/gpu/drm/xe/xe_gt_freq.o
CC drivers/gpu/drm/i915/i915_debugfs_params.o
CC drivers/input/mouse/byd.o
CC drivers/usb/host/xhci-mem.o
CC drivers/rtc/sysfs.o
AR drivers/input/tablet/built-in.a
CC drivers/i2c/busses/i2c-i801.o
AR drivers/i2c/muxes/built-in.a
CC drivers/acpi/acpica/utcksum.o
CC drivers/usb/storage/usb.o
CC lib/find_bit.o
CC fs/nfs/callback.o
CC drivers/gpu/drm/i915/i915_pmu.o
CC drivers/net/ethernet/intel/e1000/e1000_main.o
CC drivers/acpi/button.o
AR drivers/i2c/algos/built-in.a
CC mm/ptdump.o
CC drivers/usb/core/sysfs.o
CC kernel/smp.o
CC drivers/net/ethernet/intel/e1000/e1000_hw.o
CC [M] drivers/gpu/drm/xe/xe_gt_idle.o
CC drivers/acpi/fan_core.o
CC drivers/usb/host/xhci-ext-caps.o
CC drivers/i2c/i2c-boardinfo.o
CC fs/nfs/callback_xdr.o
AR drivers/usb/early/built-in.a
CC fs/seq_file.o
CC drivers/gpu/drm/drm_eld.o
AR drivers/pcmcia/built-in.a
CC drivers/usb/host/xhci-ring.o
CC drivers/net/ethernet/intel/e1000/e1000_ethtool.o
CC drivers/net/ethernet/intel/e1000/e1000_param.o
CC lib/llist.o
CC arch/x86/kernel/i8237.o
CC net/mac80211/pm.o
CC drivers/net/ethernet/intel/e1000e/82571.o
CC drivers/acpi/acpica/utcopy.o
CC net/ipv4/ip_tunnel.o
CC lib/lwq.o
CC drivers/gpu/drm/i915/gt/gen2_engine_cs.o
CC fs/nfs/callback_proc.o
CC net/ipv6/syncookies.o
AR drivers/media/i2c/built-in.a
AR drivers/media/tuners/built-in.a
AR drivers/media/rc/keymaps/built-in.a
AR drivers/media/rc/built-in.a
AR drivers/media/common/b2c2/built-in.a
AR drivers/media/common/saa7146/built-in.a
CC drivers/rtc/rtc-mc146818-lib.o
AR drivers/media/common/siano/built-in.a
AR drivers/media/common/v4l2-tpg/built-in.a
AR drivers/media/common/videobuf2/built-in.a
AR drivers/media/common/built-in.a
CC lib/memweight.o
CC drivers/gpu/drm/drm_encoder.o
AR drivers/media/platform/allegro-dvt/built-in.a
CC drivers/i2c/i2c-core-base.o
AR drivers/media/platform/amlogic/meson-ge2d/built-in.a
AR drivers/media/platform/amphion/built-in.a
AR drivers/media/platform/amlogic/built-in.a
CC fs/xattr.o
CC mm/execmem.o
AR drivers/media/platform/aspeed/built-in.a
CC arch/x86/kernel/stacktrace.o
AR drivers/media/platform/atmel/built-in.a
AR drivers/net/ethernet/i825xx/built-in.a
AR drivers/net/ethernet/microsoft/built-in.a
AR drivers/media/platform/broadcom/built-in.a
CC drivers/usb/core/endpoint.o
CC kernel/uid16.o
AR drivers/media/platform/cadence/built-in.a
AR drivers/media/platform/chips-media/coda/built-in.a
AR drivers/media/platform/chips-media/wave5/built-in.a
CC lib/kfifo.o
AR drivers/media/platform/chips-media/built-in.a
AR drivers/media/platform/imagination/built-in.a
AR drivers/media/platform/intel/built-in.a
AR drivers/media/platform/marvell/built-in.a
AR drivers/media/platform/mediatek/jpeg/built-in.a
AR drivers/media/platform/mediatek/mdp/built-in.a
CC kernel/kallsyms.o
AR drivers/media/platform/mediatek/vcodec/common/built-in.a
CC drivers/net/ethernet/intel/e100.o
CC drivers/rtc/rtc-cmos.o
AR drivers/media/platform/mediatek/vcodec/encoder/built-in.a
CC drivers/acpi/acpica/utexcep.o
AR drivers/media/platform/mediatek/vcodec/decoder/built-in.a
AR drivers/media/pci/ttpci/built-in.a
AR drivers/media/platform/mediatek/vcodec/built-in.a
AR drivers/media/pci/b2c2/built-in.a
AR drivers/media/platform/mediatek/vpu/built-in.a
AR drivers/media/pci/pluto2/built-in.a
AR drivers/media/platform/mediatek/mdp3/built-in.a
AR drivers/media/platform/mediatek/built-in.a
CC drivers/usb/core/devio.o
AR drivers/media/pci/dm1105/built-in.a
AR drivers/media/pci/pt1/built-in.a
AR drivers/media/platform/microchip/built-in.a
AR drivers/media/pci/pt3/built-in.a
AR drivers/media/platform/nuvoton/built-in.a
AR drivers/media/pci/mantis/built-in.a
AR drivers/media/pci/ngene/built-in.a
AR drivers/media/platform/nvidia/tegra-vde/built-in.a
AR drivers/media/pci/ddbridge/built-in.a
AR drivers/media/platform/nvidia/built-in.a
CC [M] drivers/gpu/drm/xe/xe_gt_mcr.o
AR drivers/media/pci/saa7146/built-in.a
AR drivers/input/touchscreen/built-in.a
AR drivers/media/pci/smipcie/built-in.a
CC fs/nfs/nfs4namespace.o
AR drivers/media/pci/netup_unidvb/built-in.a
AR drivers/media/platform/nxp/dw100/built-in.a
CC drivers/input/mouse/logips2pp.o
AR drivers/media/pci/intel/ipu3/built-in.a
AR drivers/media/platform/nxp/imx-jpeg/built-in.a
AR drivers/media/pci/intel/ivsc/built-in.a
AR drivers/media/platform/nxp/imx8-isi/built-in.a
AR drivers/media/platform/nxp/built-in.a
AR drivers/media/pci/intel/built-in.a
AR drivers/media/pci/built-in.a
CC drivers/usb/storage/initializers.o
AR drivers/media/platform/qcom/camss/built-in.a
AR drivers/media/platform/qcom/venus/built-in.a
AR drivers/media/platform/qcom/built-in.a
AR drivers/media/platform/raspberrypi/pisp_be/built-in.a
AR drivers/media/platform/raspberrypi/built-in.a
CC net/ipv4/sysctl_net_ipv4.o
CC drivers/usb/host/xhci-hub.o
AR drivers/media/platform/renesas/rcar-vin/built-in.a
AR drivers/media/platform/renesas/rzg2l-cru/built-in.a
AR drivers/media/platform/renesas/vsp1/built-in.a
AR drivers/media/platform/renesas/built-in.a
AR drivers/i2c/busses/built-in.a
CC fs/nfs/nfs4getroot.o
AR drivers/media/platform/rockchip/rga/built-in.a
CC net/ipv4/proc.o
AR drivers/media/platform/rockchip/rkisp1/built-in.a
AR drivers/media/platform/rockchip/built-in.a
AR drivers/media/platform/samsung/exynos-gsc/built-in.a
AR drivers/media/platform/samsung/exynos4-is/built-in.a
CC drivers/acpi/acpica/utdebug.o
AR drivers/media/platform/samsung/s3c-camif/built-in.a
AR drivers/media/platform/samsung/s5p-g2d/built-in.a
AR drivers/media/platform/st/sti/bdisp/built-in.a
AR drivers/media/platform/samsung/s5p-jpeg/built-in.a
AR drivers/media/platform/st/sti/c8sectpfe/built-in.a
AR drivers/media/platform/sunxi/sun4i-csi/built-in.a
AR drivers/media/platform/samsung/s5p-mfc/built-in.a
AR mm/built-in.a
AR drivers/media/platform/st/sti/delta/built-in.a
AR drivers/media/platform/samsung/built-in.a
AR drivers/media/platform/sunxi/sun6i-csi/built-in.a
AR drivers/media/platform/sunxi/sun6i-mipi-csi2/built-in.a
CC kernel/acct.o
CC drivers/scsi/scsi_sysfs.o
AR drivers/media/platform/st/sti/hva/built-in.a
AR drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2/built-in.a
CC net/ipv4/fib_rules.o
AR drivers/media/platform/st/stm32/built-in.a
AR drivers/net/ethernet/litex/built-in.a
AR drivers/media/platform/st/built-in.a
AR drivers/media/platform/sunxi/sun8i-di/built-in.a
CC fs/libfs.o
CC drivers/usb/core/notify.o
CC fs/fs-writeback.o
AR drivers/media/platform/sunxi/sun8i-rotate/built-in.a
AR drivers/media/platform/sunxi/built-in.a
AR drivers/net/ethernet/broadcom/built-in.a
AR drivers/media/platform/ti/am437x/built-in.a
CC arch/x86/kernel/reboot.o
CC fs/pnode.o
CC drivers/acpi/acpica/utdecode.o
AR drivers/media/platform/ti/cal/built-in.a
AR drivers/media/platform/ti/vpe/built-in.a
AR drivers/media/platform/ti/davinci/built-in.a
CC lib/percpu-refcount.o
AR drivers/media/usb/b2c2/built-in.a
AR drivers/media/platform/ti/j721e-csi2rx/built-in.a
AR drivers/media/usb/dvb-usb/built-in.a
AR drivers/media/platform/ti/omap/built-in.a
AR drivers/media/usb/dvb-usb-v2/built-in.a
AR drivers/media/platform/ti/omap3isp/built-in.a
AR drivers/media/usb/s2255/built-in.a
AR drivers/media/platform/ti/built-in.a
AR drivers/media/usb/siano/built-in.a
AR drivers/media/usb/ttusb-budget/built-in.a
AR drivers/media/platform/verisilicon/built-in.a
AR drivers/media/usb/ttusb-dec/built-in.a
AR drivers/media/platform/via/built-in.a
AR drivers/net/ethernet/marvell/octeon_ep/built-in.a
AR drivers/media/usb/built-in.a
AR drivers/net/ethernet/mellanox/built-in.a
AR drivers/media/platform/xilinx/built-in.a
CC lib/rhashtable.o
AR drivers/net/ethernet/marvell/octeon_ep_vf/built-in.a
AR drivers/media/platform/built-in.a
CC lib/base64.o
AR drivers/net/ethernet/marvell/octeontx2/built-in.a
CC drivers/gpu/drm/i915/gt/gen6_engine_cs.o
AR drivers/net/ethernet/marvell/prestera/built-in.a
CC drivers/net/ethernet/marvell/sky2.o
AR drivers/media/mmc/siano/built-in.a
AR drivers/media/mmc/built-in.a
AR drivers/media/firewire/built-in.a
CC drivers/acpi/fan_attr.o
AR drivers/media/spi/built-in.a
AR drivers/media/test-drivers/built-in.a
CC net/mac80211/rc80211_minstrel_ht.o
AR drivers/media/built-in.a
CC drivers/gpu/drm/i915/gt/gen6_ppgtt.o
AR drivers/net/ethernet/meta/built-in.a
CC drivers/gpu/drm/drm_file.o
CC drivers/input/mouse/lifebook.o
CC net/ipv4/ipmr.o
CC drivers/net/ethernet/intel/e1000e/ich8lan.o
CC net/ipv6/calipso.o
CC drivers/usb/storage/sierra_ms.o
CC drivers/acpi/acpica/utdelete.o
CC [M] drivers/gpu/drm/xe/xe_gt_pagefault.o
AR drivers/rtc/built-in.a
CC fs/nfs/nfs4client.o
CC drivers/usb/host/xhci-dbg.o
AR drivers/input/misc/built-in.a
CC kernel/vmcore_info.o
CC drivers/gpu/drm/i915/gt/gen7_renderclear.o
CC drivers/gpu/drm/drm_fourcc.o
CC kernel/elfcorehdr.o
AR drivers/net/ethernet/micrel/built-in.a
CC drivers/acpi/fan_hwmon.o
CC net/mac80211/wbrf.o
CC drivers/net/ethernet/intel/e1000e/80003es2lan.o
CC drivers/acpi/acpica/uterror.o
CC arch/x86/kernel/msr.o
CC net/ipv4/ipmr_base.o
CC drivers/input/mouse/trackpoint.o
CC drivers/i2c/i2c-core-smbus.o
CC drivers/gpu/drm/drm_framebuffer.o
AR drivers/pps/clients/built-in.a
AR drivers/pps/generators/built-in.a
CC drivers/pps/pps.o
CC drivers/ptp/ptp_clock.o
CC drivers/power/supply/power_supply_core.o
CC drivers/hwmon/hwmon.o
AR drivers/thermal/broadcom/built-in.a
AR drivers/thermal/renesas/built-in.a
AR drivers/thermal/samsung/built-in.a
CC net/ipv4/syncookies.o
CC drivers/thermal/intel/intel_tcc.o
CC drivers/thermal/intel/therm_throt.o
AR drivers/watchdog/built-in.a
CC drivers/input/mouse/cypress_ps2.o
CC drivers/usb/storage/option_ms.o
AR drivers/scsi/built-in.a
AR drivers/thermal/st/built-in.a
CC arch/x86/kernel/cpuid.o
CC drivers/acpi/acpica/uteval.o
CC drivers/net/ethernet/intel/e1000e/mac.o
CC drivers/power/supply/power_supply_sysfs.o
CC drivers/gpu/drm/i915/gt/gen8_engine_cs.o
CC fs/nfs/nfs4session.o
CC drivers/pps/kapi.o
CC lib/once.o
CC drivers/ptp/ptp_chardev.o
CC net/ipv6/ah6.o
CC kernel/crash_reserve.o
AR drivers/net/ethernet/microchip/built-in.a
AR drivers/net/ethernet/mscc/built-in.a
CC fs/nfs/dns_resolve.o
CC drivers/acpi/acpi_video.o
CC [M] drivers/thermal/intel/x86_pkg_temp_thermal.o
CC [M] drivers/gpu/drm/xe/xe_gt_sysfs.o
CC drivers/usb/core/generic.o
CC lib/refcount.o
CC net/ipv6/esp6.o
CC kernel/kexec_core.o
CC arch/x86/kernel/early-quirks.o
CC drivers/acpi/acpica/utglobal.o
CC fs/nfs/nfs4trace.o
CC drivers/power/supply/power_supply_leds.o
CC drivers/ptp/ptp_sysfs.o
CC drivers/pps/sysfs.o
AR drivers/thermal/qcom/built-in.a
CC arch/x86/kernel/smp.o
CC kernel/crash_core.o
CC drivers/input/input.o
CC drivers/usb/host/xhci-trace.o
CC lib/rcuref.o
CC drivers/md/md.o
CC net/ipv4/tunnel4.o
CC drivers/acpi/acpica/uthex.o
CC drivers/input/mouse/psmouse-smbus.o
AR drivers/net/ethernet/intel/e1000/built-in.a
CC net/ipv4/ipconfig.o
CC net/ipv4/netfilter.o
CC kernel/kexec.o
CC drivers/usb/storage/usual-tables.o
CC drivers/cpufreq/cpufreq.o
CC [M] drivers/gpu/drm/xe/xe_gt_throttle.o
CC lib/usercopy.o
CC drivers/cpufreq/freq_table.o
CC drivers/usb/core/quirks.o
AR drivers/pps/built-in.a
AR drivers/net/ethernet/myricom/built-in.a
CC [M] drivers/gpu/drm/xe/xe_gt_tlb_invalidation.o
AR drivers/net/ethernet/natsemi/built-in.a
CC drivers/net/ethernet/intel/e1000e/manage.o
CC drivers/i2c/i2c-core-acpi.o
CC drivers/power/supply/power_supply_hwmon.o
CC drivers/acpi/acpica/utids.o
CC fs/splice.o
CC lib/errseq.o
CC drivers/cpufreq/cpufreq_performance.o
CC arch/x86/kernel/smpboot.o
CC drivers/input/input-compat.o
CC [M] drivers/gpu/drm/xe/xe_gt_topology.o
CC drivers/gpu/drm/i915/gt/gen8_ppgtt.o
AR drivers/thermal/intel/built-in.a
AR drivers/thermal/tegra/built-in.a
AR drivers/thermal/mediatek/built-in.a
CC drivers/thermal/thermal_core.o
CC lib/bucket_locks.o
CC drivers/md/md-bitmap.o
CC drivers/thermal/thermal_sysfs.o
AR drivers/hwmon/built-in.a
CC drivers/gpu/drm/drm_gem.o
AR drivers/usb/storage/built-in.a
AR drivers/net/ethernet/neterion/built-in.a
CC drivers/acpi/acpica/utinit.o
CC fs/sync.o
CC drivers/ptp/ptp_vclock.o
CC drivers/usb/host/xhci-debugfs.o
CC net/ipv4/tcp_cubic.o
CC drivers/net/ethernet/intel/e1000e/nvm.o
CC fs/utimes.o
CC drivers/gpu/drm/i915/gt/intel_breadcrumbs.o
CC drivers/thermal/thermal_trip.o
AR drivers/net/ethernet/netronome/built-in.a
AR drivers/net/ethernet/ni/built-in.a
AR drivers/power/supply/built-in.a
CC drivers/net/ethernet/nvidia/forcedeth.o
AR drivers/power/built-in.a
CC drivers/cpuidle/governors/menu.o
CC drivers/ptp/ptp_kvm_x86.o
CC drivers/input/input-mt.o
CC net/ipv4/tcp_sigpool.o
AR drivers/input/mouse/built-in.a
CC drivers/usb/host/xhci-pci.o
CC drivers/acpi/acpica/utlock.o
CC drivers/gpu/drm/drm_ioctl.o
CC drivers/cpuidle/cpuidle.o
CC drivers/usb/core/devices.o
CC kernel/utsname.o
CC fs/nfs/nfs4sysctl.o
CC drivers/ptp/ptp_kvm_common.o
CC [M] drivers/gpu/drm/xe/xe_guc.o
CC arch/x86/kernel/tsc_sync.o
CC fs/d_path.o
CC lib/generic-radix-tree.o
CC drivers/i2c/i2c-smbus.o
CC drivers/cpuidle/governors/haltpoll.o
CC drivers/thermal/thermal_helpers.o
CC drivers/gpu/drm/i915/gt/intel_context.o
CC drivers/acpi/acpica/utmath.o
CC drivers/net/ethernet/intel/e1000e/phy.o
CC arch/x86/kernel/setup_percpu.o
CC drivers/net/ethernet/intel/e1000e/param.o
AR drivers/net/ethernet/marvell/built-in.a
CC drivers/usb/core/phy.o
CC drivers/acpi/video_detect.o
CC drivers/gpu/drm/drm_lease.o
CC kernel/pid_namespace.o
CC net/ipv6/sit.o
CC drivers/cpuidle/driver.o
AR drivers/mmc/built-in.a
CC drivers/cpufreq/cpufreq_userspace.o
CC net/ipv6/addrconf_core.o
CC drivers/acpi/acpica/utmisc.o
CC drivers/gpu/drm/i915/gt/intel_context_sseu.o
CC lib/bitmap-str.o
CC arch/x86/kernel/mpparse.o
CC drivers/input/input-poller.o
CC drivers/input/ff-core.o
CC drivers/thermal/thermal_hwmon.o
CC [M] drivers/gpu/drm/xe/xe_guc_ads.o
AR drivers/ptp/built-in.a
AR drivers/net/ethernet/oki-semi/built-in.a
CC drivers/gpu/drm/i915/gt/intel_engine_cs.o
CC lib/string_helpers.o
CC drivers/net/ethernet/intel/e1000e/ethtool.o
CC drivers/md/md-autodetect.o
CC arch/x86/kernel/trace_clock.o
CC net/ipv4/cipso_ipv4.o
CC drivers/md/dm.o
CC drivers/usb/core/port.o
AR drivers/i2c/built-in.a
CC drivers/cpufreq/cpufreq_ondemand.o
CC kernel/stop_machine.o
CC drivers/input/touchscreen.o
CC drivers/acpi/acpica/utmutex.o
CC net/ipv6/exthdrs_core.o
CC fs/stack.o
CC drivers/cpuidle/governor.o
CC drivers/cpufreq/cpufreq_governor.o
CC fs/fs_struct.o
CC kernel/audit.o
CC net/ipv6/ip6_checksum.o
CC lib/hexdump.o
CC drivers/acpi/processor_driver.o
AR net/mac80211/built-in.a
CC drivers/cpuidle/sysfs.o
CC drivers/input/ff-memless.o
CC drivers/thermal/gov_step_wise.o
CC drivers/gpu/drm/i915/gt/intel_engine_heartbeat.o
AR drivers/net/ethernet/packetengines/built-in.a
CC net/ipv4/xfrm4_policy.o
AR drivers/cpuidle/governors/built-in.a
AR drivers/ufs/built-in.a
CC drivers/usb/core/hcd-pci.o
CC net/ipv6/ip6_icmp.o
AR drivers/leds/trigger/built-in.a
CC fs/statfs.o
AR drivers/leds/blink/built-in.a
CC kernel/auditfilter.o
AR drivers/leds/simple/built-in.a
AR drivers/firmware/arm_ffa/built-in.a
CC drivers/leds/led-core.o
CC drivers/input/sparse-keymap.o
CC drivers/thermal/gov_user_space.o
AR drivers/firmware/arm_scmi/built-in.a
CC drivers/input/vivaldi-fmap.o
AR drivers/firmware/broadcom/built-in.a
CC drivers/gpu/drm/drm_managed.o
AR drivers/firmware/cirrus/built-in.a
AR drivers/firmware/meson/built-in.a
AR drivers/firmware/microchip/built-in.a
CC drivers/input/input-leds.o
CC drivers/acpi/processor_thermal.o
CC drivers/acpi/acpica/utnonansi.o
CC drivers/firmware/efi/libstub/efi-stub-helper.o
AR drivers/usb/host/built-in.a
CC arch/x86/kernel/trace.o
CC lib/kstrtox.o
CC drivers/acpi/acpica/utobject.o
CC [M] drivers/gpu/drm/xe/xe_guc_ct.o
CC drivers/firmware/efi/efi-bgrt.o
AR drivers/firmware/imx/built-in.a
CC drivers/input/evdev.o
CC drivers/gpu/drm/i915/gt/intel_engine_pm.o
CC lib/iomap.o
CC drivers/usb/core/usb-acpi.o
CC drivers/acpi/processor_idle.o
CC fs/fs_pin.o
CC drivers/cpufreq/cpufreq_governor_attr_set.o
AR drivers/net/ethernet/qlogic/built-in.a
CC drivers/gpu/drm/drm_mm.o
AR drivers/firmware/psci/built-in.a
CC kernel/auditsc.o
CC net/ipv4/xfrm4_state.o
AR drivers/thermal/built-in.a
CC kernel/audit_watch.o
CC drivers/md/dm-table.o
CC drivers/cpuidle/poll_state.o
CC [M] drivers/gpu/drm/xe/xe_guc_db_mgr.o
CC fs/nsfs.o
CC net/ipv6/output_core.o
AR drivers/net/ethernet/qualcomm/emac/built-in.a
AR drivers/net/ethernet/qualcomm/built-in.a
CC arch/x86/kernel/rethook.o
CC drivers/leds/led-class.o
CC drivers/net/ethernet/intel/e1000e/netdev.o
CC [M] drivers/gpu/drm/xe/xe_guc_hwconfig.o
CC drivers/gpu/drm/drm_mode_config.o
CC net/ipv4/xfrm4_input.o
CC drivers/acpi/acpica/utosi.o
CC drivers/md/dm-target.o
CC drivers/cpuidle/cpuidle-haltpoll.o
CC drivers/firmware/efi/libstub/gop.o
CC kernel/audit_fsnotify.o
CC drivers/firmware/efi/efi.o
CC fs/fs_types.o
CC net/ipv4/xfrm4_output.o
CC fs/fs_context.o
CC drivers/net/ethernet/intel/e1000e/ptp.o
CC kernel/audit_tree.o
AR fs/nfs/built-in.a
CC drivers/md/dm-linear.o
CC drivers/firmware/efi/libstub/secureboot.o
CC [M] drivers/gpu/drm/xe/xe_guc_id_mgr.o
CC drivers/cpufreq/acpi-cpufreq.o
AR drivers/firmware/qcom/built-in.a
CC drivers/md/dm-stripe.o
CC drivers/net/ethernet/realtek/8139too.o
CC [M] drivers/gpu/drm/xe/xe_guc_klv_helpers.o
CC lib/iomap_copy.o
CC kernel/kprobes.o
CC drivers/acpi/acpica/utownerid.o
AR drivers/usb/core/built-in.a
AR drivers/usb/built-in.a
CC drivers/acpi/processor_throttling.o
CC drivers/leds/led-triggers.o
AR drivers/cpuidle/built-in.a
CC arch/x86/kernel/vmcore_info_32.o
AR drivers/firmware/smccc/built-in.a
CC arch/x86/kernel/machine_kexec_32.o
CC lib/devres.o
CC drivers/gpu/drm/drm_mode_object.o
CC drivers/firmware/efi/vars.o
CC drivers/acpi/acpica/utpredef.o
AR drivers/net/ethernet/renesas/built-in.a
CC drivers/net/ethernet/realtek/r8169_main.o
CC fs/fs_parser.o
CC net/ipv6/protocol.o
AR drivers/input/built-in.a
AS arch/x86/kernel/relocate_kernel_32.o
AR drivers/crypto/stm32/built-in.a
AR drivers/crypto/xilinx/built-in.a
CC drivers/acpi/acpica/utresdecode.o
AR drivers/crypto/hisilicon/built-in.a
AR drivers/crypto/intel/keembay/built-in.a
AR drivers/crypto/intel/ixp4xx/built-in.a
AR drivers/crypto/intel/built-in.a
CC drivers/gpu/drm/i915/gt/intel_engine_user.o
AR drivers/crypto/starfive/built-in.a
AR drivers/crypto/built-in.a
CC drivers/gpu/drm/i915/gt/intel_execlists_submission.o
CC lib/check_signature.o
CC drivers/acpi/processor_perflib.o
CC lib/interval_tree.o
CC net/ipv4/xfrm4_protocol.o
CC net/ipv6/ip6_offload.o
CC drivers/firmware/efi/reboot.o
AR drivers/net/ethernet/nvidia/built-in.a
AR drivers/firmware/tegra/built-in.a
CC drivers/net/ethernet/realtek/r8169_firmware.o
CC drivers/firmware/dmi_scan.o
AR drivers/firmware/xilinx/built-in.a
CC drivers/firmware/efi/memattr.o
CC [M] drivers/gpu/drm/xe/xe_guc_log.o
CC drivers/firmware/efi/libstub/tpm.o
CC drivers/clocksource/acpi_pm.o
AR drivers/net/ethernet/rdc/built-in.a
CC lib/assoc_array.o
CC drivers/gpu/drm/drm_modes.o
CC drivers/gpu/drm/i915/gt/intel_ggtt.o
CC drivers/firmware/efi/libstub/file.o
CC drivers/clocksource/i8253.o
CC drivers/md/dm-ioctl.o
CC drivers/firmware/dmi-id.o
CC drivers/acpi/container.o
CC kernel/seccomp.o
CC drivers/acpi/acpica/utresrc.o
AR drivers/net/ethernet/rocker/built-in.a
CC drivers/hid/usbhid/hid-core.o
CC drivers/gpu/drm/drm_modeset_lock.o
CC drivers/net/ethernet/realtek/r8169_phy_config.o
CC drivers/cpufreq/amd-pstate.o
CC drivers/firmware/efi/libstub/mem.o
CC drivers/firmware/efi/libstub/random.o
CC drivers/acpi/acpica/utstate.o
CC drivers/hid/hid-core.o
CC drivers/gpu/drm/drm_plane.o
CC lib/bitrev.o
CC drivers/gpu/drm/drm_prime.o
CC drivers/acpi/thermal_lib.o
AR drivers/leds/built-in.a
CC drivers/cpufreq/amd-pstate-trace.o
AR drivers/net/ethernet/samsung/built-in.a
CC arch/x86/kernel/crash_dump_32.o
CC drivers/gpu/drm/drm_print.o
CC drivers/firmware/memmap.o
AR drivers/platform/x86/amd/built-in.a
AR drivers/platform/x86/intel/built-in.a
CC drivers/platform/x86/wmi.o
CC [M] drivers/gpu/drm/xe/xe_guc_pc.o
AR drivers/platform/surface/built-in.a
CC fs/fsopen.o
CC kernel/relay.o
CC drivers/hid/hid-input.o
CC drivers/hid/hid-quirks.o
CC drivers/acpi/acpica/utstring.o
CC fs/init.o
AR drivers/net/ethernet/seeq/built-in.a
CC drivers/hid/usbhid/hiddev.o
CC kernel/utsname_sysctl.o
CC drivers/cpufreq/intel_pstate.o
CC net/ipv6/tcpv6_offload.o
CC drivers/gpu/drm/i915/gt/intel_ggtt_fencing.o
AR drivers/clocksource/built-in.a
CC drivers/mailbox/mailbox.o
CC kernel/delayacct.o
AR drivers/perf/built-in.a
CC drivers/acpi/acpica/utstrsuppt.o
CC lib/crc-ccitt.o
AR drivers/net/ethernet/silan/built-in.a
CC drivers/hid/hid-debug.o
CC drivers/acpi/thermal.o
CC drivers/platform/x86/wmi-bmof.o
CC drivers/gpu/drm/i915/gt/intel_gt.o
CC kernel/taskstats.o
CC drivers/hid/usbhid/hid-pidff.o
CC drivers/firmware/efi/tpm.o
CC drivers/firmware/efi/libstub/randomalloc.o
AR drivers/net/ethernet/sis/built-in.a
CC drivers/firmware/efi/memmap.o
CC drivers/md/dm-io.o
CC net/ipv6/exthdrs_offload.o
CC drivers/gpu/drm/i915/gt/intel_gt_buffer_pool.o
AR net/ipv4/built-in.a
CC kernel/tsacct.o
CC arch/x86/kernel/crash.o
CC lib/crc16.o
CC drivers/gpu/drm/drm_property.o
CC [M] drivers/gpu/drm/xe/xe_guc_submit.o
CC drivers/firmware/efi/libstub/pci.o
CC drivers/acpi/acpica/utstrtoul64.o
CC drivers/gpu/drm/drm_rect.o
CC fs/kernel_read_file.o
CC drivers/mailbox/pcc.o
CC drivers/firmware/efi/capsule.o
AR drivers/hwtracing/intel_th/built-in.a
CC drivers/hid/hidraw.o
CC drivers/platform/x86/eeepc-laptop.o
CC drivers/md/dm-kcopyd.o
CC drivers/hid/hid-generic.o
CC fs/mnt_idmapping.o
CC drivers/firmware/efi/libstub/skip_spaces.o
CC drivers/acpi/acpica/utxface.o
CC net/ipv6/inet6_hashtables.o
HOSTCC lib/gen_crc32table
CC drivers/gpu/drm/drm_syncobj.o
CC drivers/firmware/efi/libstub/lib-cmdline.o
CC drivers/gpu/drm/i915/gt/intel_gt_ccs_mode.o
CC drivers/hid/hid-a4tech.o
AR drivers/net/ethernet/sfc/built-in.a
CC drivers/firmware/efi/esrt.o
CC fs/remap_range.o
CC drivers/acpi/acpica/utxfinit.o
CC lib/xxhash.o
CC kernel/tracepoint.o
CC drivers/md/dm-sysfs.o
CC drivers/gpu/drm/drm_sysfs.o
CC drivers/gpu/drm/i915/gt/intel_gt_clock_utils.o
CC drivers/gpu/drm/i915/gt/intel_gt_debugfs.o
CC drivers/firmware/efi/runtime-wrappers.o
CC drivers/acpi/nhlt.o
CC drivers/hid/hid-apple.o
CC fs/pidfs.o
CC drivers/gpu/drm/i915/gt/intel_gt_engines_debugfs.o
CC drivers/firmware/efi/libstub/lib-ctype.o
CC lib/genalloc.o
CC drivers/platform/x86/p2sb.o
CC arch/x86/kernel/module.o
CC drivers/firmware/efi/libstub/alignedmem.o
CC net/ipv6/mcast_snoop.o
AR drivers/android/built-in.a
AR drivers/net/ethernet/smsc/built-in.a
CC [M] drivers/gpu/drm/xe/xe_heci_gsc.o
CC lib/percpu_counter.o
AR drivers/mailbox/built-in.a
CC drivers/md/dm-stats.o
CC drivers/firmware/efi/capsule-loader.o
CC drivers/acpi/acpi_memhotplug.o
CC [M] drivers/gpu/drm/xe/xe_hw_engine.o
AR drivers/net/ethernet/socionext/built-in.a
CC drivers/gpu/drm/drm_trace_points.o
CC drivers/acpi/acpica/utxferror.o
CC arch/x86/kernel/doublefault_32.o
CC kernel/irq_work.o
CC drivers/firmware/efi/libstub/relocate.o
CC drivers/firmware/efi/earlycon.o
CC drivers/nvmem/core.o
AR drivers/nvmem/layouts/built-in.a
CC drivers/gpu/drm/i915/gt/intel_gt_irq.o
CC drivers/hid/hid-belkin.o
AR drivers/hid/usbhid/built-in.a
CC drivers/md/dm-rq.o
CC drivers/hid/hid-cherry.o
CC drivers/gpu/drm/drm_vblank.o
CC drivers/acpi/ioapic.o
CC drivers/gpu/drm/drm_vblank_work.o
CC drivers/acpi/battery.o
CC drivers/firmware/efi/libstub/printk.o
CC drivers/acpi/acpica/utxfmutex.o
CC drivers/gpu/drm/drm_vma_manager.o
CC [M] drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.o
CC drivers/md/dm-io-rewind.o
CC arch/x86/kernel/early_printk.o
CC drivers/hid/hid-chicony.o
CC lib/audit.o
AR drivers/platform/x86/built-in.a
CC kernel/static_call.o
AR drivers/platform/built-in.a
CC drivers/md/dm-builtin.o
CC drivers/gpu/drm/i915/gt/intel_gt_mcr.o
CC drivers/firmware/efi/libstub/vsprintf.o
CC fs/buffer.o
CC drivers/hid/hid-cypress.o
CC drivers/md/dm-raid1.o
CC drivers/gpu/drm/drm_writeback.o
CC [M] drivers/gpu/drm/xe/xe_hw_engine_group.o
CC lib/syscall.o
CC arch/x86/kernel/hpet.o
CC drivers/firmware/efi/libstub/x86-stub.o
CC drivers/acpi/bgrt.o
CC drivers/md/dm-log.o
CC drivers/hid/hid-ezkey.o
CC drivers/md/dm-region-hash.o
CC kernel/padata.o
AR drivers/net/ethernet/stmicro/built-in.a
CC drivers/acpi/spcr.o
CC drivers/hid/hid-gyration.o
AR drivers/acpi/acpica/built-in.a
CC drivers/gpu/drm/drm_panel.o
CC lib/errname.o
AR drivers/cpufreq/built-in.a
CC kernel/jump_label.o
AR drivers/net/ethernet/realtek/built-in.a
CC drivers/gpu/drm/drm_pci.o
CC drivers/gpu/drm/i915/gt/intel_gt_pm.o
CC drivers/md/dm-zero.o
CC fs/mpage.o
CC arch/x86/kernel/amd_nb.o
CC drivers/firmware/efi/libstub/smbios.o
AR drivers/net/ethernet/sun/built-in.a
CC fs/proc_namespace.o
AR drivers/net/ethernet/tehuti/built-in.a
AR drivers/net/ethernet/ti/built-in.a
CC kernel/context_tracking.o
CC fs/direct-io.o
AR drivers/net/ethernet/vertexcom/built-in.a
AR drivers/firmware/efi/built-in.a
CC arch/x86/kernel/kvm.o
CC drivers/hid/hid-ite.o
AR net/ipv6/built-in.a
AR net/built-in.a
CC lib/nlattr.o
CC kernel/iomem.o
CC arch/x86/kernel/kvmclock.o
CC drivers/gpu/drm/drm_debugfs.o
AR drivers/net/ethernet/via/built-in.a
CC drivers/hid/hid-kensington.o
CC [M] drivers/gpu/drm/xe/xe_hw_fence.o
STUBCPY drivers/firmware/efi/libstub/alignedmem.stub.o
CC fs/eventpoll.o
CC kernel/rseq.o
CC arch/x86/kernel/paravirt.o
AR drivers/net/ethernet/wangxun/built-in.a
CC drivers/hid/hid-lg.o
CC drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.o
AR drivers/nvmem/built-in.a
CC drivers/hid/hid-lgff.o
CC [M] drivers/gpu/drm/xe/xe_huc.o
CC fs/anon_inodes.o
AR drivers/net/ethernet/wiznet/built-in.a
CC lib/cpu_rmap.o
CC drivers/gpu/drm/drm_debugfs_crc.o
CC fs/signalfd.o
CC drivers/gpu/drm/i915/gt/intel_gt_pm_irq.o
CC drivers/hid/hid-lg4ff.o
CC lib/dynamic_queue_limits.o
STUBCPY drivers/firmware/efi/libstub/efi-stub-helper.stub.o
CC fs/timerfd.o
STUBCPY drivers/firmware/efi/libstub/file.stub.o
CC arch/x86/kernel/pvclock.o
AR drivers/acpi/built-in.a
CC drivers/gpu/drm/drm_panel_orientation_quirks.o
AR drivers/net/ethernet/intel/e1000e/built-in.a
CC arch/x86/kernel/pcspeaker.o
AR drivers/net/ethernet/intel/built-in.a
CC arch/x86/kernel/check.o
AR drivers/net/ethernet/xilinx/built-in.a
CC fs/eventfd.o
AR drivers/net/ethernet/xircom/built-in.a
CC fs/aio.o
CC lib/glob.o
AR drivers/net/ethernet/synopsys/built-in.a
AR drivers/net/ethernet/pensando/built-in.a
STUBCPY drivers/firmware/efi/libstub/gop.stub.o
AR drivers/net/ethernet/built-in.a
STUBCPY drivers/firmware/efi/libstub/lib-cmdline.stub.o
STUBCPY drivers/firmware/efi/libstub/lib-ctype.stub.o
STUBCPY drivers/firmware/efi/libstub/mem.stub.o
STUBCPY drivers/firmware/efi/libstub/pci.stub.o
CC drivers/hid/hid-lg-g15.o
CC [M] drivers/gpu/drm/xe/xe_irq.o
CC [M] drivers/gpu/drm/xe/xe_lrc.o
CC [M] drivers/gpu/drm/xe/xe_migrate.o
STUBCPY drivers/firmware/efi/libstub/printk.stub.o
STUBCPY drivers/firmware/efi/libstub/random.stub.o
CC drivers/hid/hid-microsoft.o
STUBCPY drivers/firmware/efi/libstub/randomalloc.stub.o
STUBCPY drivers/firmware/efi/libstub/relocate.stub.o
STUBCPY drivers/firmware/efi/libstub/secureboot.stub.o
CC fs/locks.o
STUBCPY drivers/firmware/efi/libstub/skip_spaces.stub.o
AR drivers/net/built-in.a
CC drivers/hid/hid-monterey.o
CC [M] drivers/gpu/drm/xe/xe_mmio.o
STUBCPY drivers/firmware/efi/libstub/smbios.stub.o
STUBCPY drivers/firmware/efi/libstub/tpm.stub.o
CC arch/x86/kernel/uprobes.o
CC drivers/gpu/drm/i915/gt/intel_gt_requests.o
STUBCPY drivers/firmware/efi/libstub/vsprintf.stub.o
STUBCPY drivers/firmware/efi/libstub/x86-stub.stub.o
CC fs/binfmt_misc.o
AR drivers/firmware/efi/libstub/lib.a
CC lib/strncpy_from_user.o
CC drivers/gpu/drm/drm_buddy.o
CC drivers/hid/hid-ntrig.o
AR drivers/firmware/built-in.a
CC fs/binfmt_script.o
CC lib/strnlen_user.o
CC arch/x86/kernel/perf_regs.o
AR drivers/md/built-in.a
CC drivers/gpu/drm/drm_gem_shmem_helper.o
CC [M] drivers/gpu/drm/xe/xe_mocs.o
CC drivers/gpu/drm/drm_atomic_helper.o
CC fs/binfmt_elf.o
CC drivers/gpu/drm/drm_atomic_state_helper.o
CC drivers/hid/hid-pl.o
CC drivers/gpu/drm/i915/gt/intel_gt_sysfs.o
CC fs/mbcache.o
CC [M] drivers/gpu/drm/xe/xe_module.o
CC drivers/gpu/drm/drm_crtc_helper.o
CC lib/net_utils.o
CC drivers/hid/hid-petalynx.o
CC drivers/gpu/drm/drm_damage_helper.o
CC fs/posix_acl.o
AR kernel/built-in.a
CC drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.o
CC drivers/gpu/drm/i915/gt/intel_gtt.o
CC fs/coredump.o
CC [M] drivers/gpu/drm/xe/xe_oa.o
CC [M] drivers/gpu/drm/xe/xe_observation.o
CC fs/drop_caches.o
CC drivers/hid/hid-redragon.o
CC lib/sg_pool.o
CC drivers/gpu/drm/i915/gt/intel_llc.o
CC drivers/gpu/drm/drm_encoder_slave.o
CC arch/x86/kernel/tracepoint.o
CC drivers/hid/hid-samsung.o
CC [M] drivers/gpu/drm/xe/xe_pat.o
CC [M] drivers/gpu/drm/xe/xe_pci.o
CC fs/sysctls.o
CC drivers/gpu/drm/i915/gt/intel_lrc.o
CC drivers/hid/hid-sony.o
CC drivers/gpu/drm/drm_flip_work.o
CC arch/x86/kernel/itmt.o
CC lib/stackdepot.o
CC fs/fhandle.o
CC arch/x86/kernel/umip.o
CC [M] drivers/gpu/drm/xe/xe_pcode.o
CC drivers/gpu/drm/drm_format_helper.o
CC drivers/gpu/drm/i915/gt/intel_migrate.o
CC drivers/hid/hid-sunplus.o
CC lib/asn1_decoder.o
CC arch/x86/kernel/unwind_frame.o
GEN lib/oid_registry_data.c
CC drivers/gpu/drm/drm_gem_atomic_helper.o
CC drivers/gpu/drm/i915/gt/intel_mocs.o
CC [M] drivers/gpu/drm/xe/xe_pm.o
CC lib/ucs2_string.o
CC drivers/hid/hid-topseed.o
CC drivers/gpu/drm/i915/gt/intel_ppgtt.o
CC lib/sbitmap.o
CC drivers/gpu/drm/drm_gem_framebuffer_helper.o
CC [M] drivers/gpu/drm/xe/xe_preempt_fence.o
CC [M] drivers/gpu/drm/xe/xe_pt.o
CC drivers/gpu/drm/drm_kms_helper_common.o
CC drivers/gpu/drm/i915/gt/intel_rc6.o
CC lib/group_cpus.o
CC [M] drivers/gpu/drm/xe/xe_pt_walk.o
CC drivers/gpu/drm/drm_modeset_helper.o
CC lib/fw_table.o
CC [M] drivers/gpu/drm/xe/xe_query.o
CC drivers/gpu/drm/drm_plane_helper.o
CC drivers/gpu/drm/i915/gt/intel_region_lmem.o
CC [M] drivers/gpu/drm/xe/xe_range_fence.o
CC drivers/gpu/drm/drm_probe_helper.o
CC [M] drivers/gpu/drm/xe/xe_reg_sr.o
AR lib/lib.a
CC drivers/gpu/drm/i915/gt/intel_renderstate.o
CC drivers/gpu/drm/drm_self_refresh_helper.o
CC drivers/gpu/drm/drm_simple_kms_helper.o
CC [M] drivers/gpu/drm/xe/xe_reg_whitelist.o
CC drivers/gpu/drm/bridge/panel.o
GEN lib/crc32table.h
CC lib/oid_registry.o
CC [M] drivers/gpu/drm/xe/xe_rtp.o
CC drivers/gpu/drm/i915/gt/intel_reset.o
CC drivers/gpu/drm/drm_mipi_dsi.o
CC lib/crc32.o
CC [M] drivers/gpu/drm/xe/xe_ring_ops.o
CC [M] drivers/gpu/drm/xe/xe_sa.o
CC [M] drivers/gpu/drm/drm_exec.o
CC drivers/gpu/drm/i915/gt/intel_ring.o
CC [M] drivers/gpu/drm/xe/xe_sched_job.o
AR arch/x86/kernel/built-in.a
CC [M] drivers/gpu/drm/drm_gpuvm.o
AR arch/x86/built-in.a
CC [M] drivers/gpu/drm/xe/xe_step.o
CC drivers/gpu/drm/i915/gt/intel_ring_submission.o
CC [M] drivers/gpu/drm/xe/xe_sync.o
CC [M] drivers/gpu/drm/xe/xe_tile.o
CC drivers/gpu/drm/i915/gt/intel_rps.o
CC [M] drivers/gpu/drm/drm_suballoc.o
CC [M] drivers/gpu/drm/xe/xe_tile_sysfs.o
CC [M] drivers/gpu/drm/xe/xe_trace.o
CC drivers/gpu/drm/i915/gt/intel_sa_media.o
AR drivers/hid/built-in.a
CC [M] drivers/gpu/drm/drm_gem_ttm_helper.o
CC [M] drivers/gpu/drm/xe/xe_trace_bo.o
CC drivers/gpu/drm/i915/gt/intel_sseu.o
CC [M] drivers/gpu/drm/xe/xe_trace_guc.o
CC [M] drivers/gpu/drm/xe/xe_ttm_sys_mgr.o
CC drivers/gpu/drm/i915/gt/intel_sseu_debugfs.o
CC drivers/gpu/drm/i915/gt/intel_timeline.o
CC [M] drivers/gpu/drm/xe/xe_ttm_stolen_mgr.o
CC drivers/gpu/drm/i915/gt/intel_tlb.o
CC [M] drivers/gpu/drm/xe/xe_ttm_vram_mgr.o
CC drivers/gpu/drm/i915/gt/intel_wopcm.o
AR lib/built-in.a
AR fs/built-in.a
CC [M] drivers/gpu/drm/xe/xe_tuning.o
CC [M] drivers/gpu/drm/xe/xe_uc.o
CC drivers/gpu/drm/i915/gt/intel_workarounds.o
CC drivers/gpu/drm/i915/gt/shmem_utils.o
CC [M] drivers/gpu/drm/xe/xe_uc_fw.o
CC drivers/gpu/drm/i915/gt/sysfs_engines.o
CC [M] drivers/gpu/drm/xe/xe_vm.o
CC drivers/gpu/drm/i915/gt/intel_ggtt_gmch.o
CC drivers/gpu/drm/i915/gt/gen6_renderstate.o
CC [M] drivers/gpu/drm/xe/xe_vram.o
CC drivers/gpu/drm/i915/gt/gen7_renderstate.o
CC [M] drivers/gpu/drm/xe/xe_vram_freq.o
LD [M] drivers/gpu/drm/drm_suballoc_helper.o
CC [M] drivers/gpu/drm/xe/xe_wait_user_fence.o
CC drivers/gpu/drm/i915/gt/gen8_renderstate.o
CC [M] drivers/gpu/drm/xe/xe_wa.o
CC drivers/gpu/drm/i915/gt/gen9_renderstate.o
CC [M] drivers/gpu/drm/xe/xe_wopcm.o
CC drivers/gpu/drm/i915/gem/i915_gem_busy.o
CC [M] drivers/gpu/drm/xe/xe_hmm.o
CC [M] drivers/gpu/drm/xe/xe_hwmon.o
CC [M] drivers/gpu/drm/xe/xe_gt_sriov_vf.o
CC [M] drivers/gpu/drm/xe/xe_guc_relay.o
CC [M] drivers/gpu/drm/xe/xe_memirq.o
CC drivers/gpu/drm/i915/gem/i915_gem_clflush.o
LD [M] drivers/gpu/drm/drm_ttm_helper.o
CC [M] drivers/gpu/drm/xe/xe_sriov.o
CC [M] drivers/gpu/drm/xe/display/ext/i915_irq.o
CC [M] drivers/gpu/drm/xe/display/ext/i915_utils.o
CC drivers/gpu/drm/i915/gem/i915_gem_context.o
CC drivers/gpu/drm/i915/gem/i915_gem_create.o
CC drivers/gpu/drm/i915/gem/i915_gem_dmabuf.o
CC [M] drivers/gpu/drm/xe/display/intel_bo.o
CC drivers/gpu/drm/i915/gem/i915_gem_domain.o
CC drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o
CC [M] drivers/gpu/drm/xe/display/intel_fb_bo.o
CC drivers/gpu/drm/i915/gem/i915_gem_internal.o
CC [M] drivers/gpu/drm/xe/display/intel_fbdev_fb.o
CC [M] drivers/gpu/drm/xe/display/xe_display.o
CC [M] drivers/gpu/drm/xe/display/xe_display_misc.o
CC [M] drivers/gpu/drm/xe/display/xe_display_rps.o
CC drivers/gpu/drm/i915/gem/i915_gem_lmem.o
CC drivers/gpu/drm/i915/gem/i915_gem_mman.o
CC [M] drivers/gpu/drm/xe/display/xe_display_wa.o
CC drivers/gpu/drm/i915/gem/i915_gem_object.o
CC drivers/gpu/drm/i915/gem/i915_gem_pages.o
CC [M] drivers/gpu/drm/xe/display/xe_dsb_buffer.o
CC [M] drivers/gpu/drm/xe/display/xe_fb_pin.o
CC drivers/gpu/drm/i915/gem/i915_gem_phys.o
CC [M] drivers/gpu/drm/xe/display/xe_hdcp_gsc.o
CC drivers/gpu/drm/i915/gem/i915_gem_pm.o
CC [M] drivers/gpu/drm/xe/display/xe_plane_initial.o
CC drivers/gpu/drm/i915/gem/i915_gem_region.o
CC [M] drivers/gpu/drm/xe/display/xe_tdf.o
CC drivers/gpu/drm/i915/gem/i915_gem_shmem.o
CC drivers/gpu/drm/i915/gem/i915_gem_shrinker.o
CC [M] drivers/gpu/drm/xe/i915-soc/intel_dram.o
CC drivers/gpu/drm/i915/gem/i915_gem_stolen.o
CC [M] drivers/gpu/drm/xe/i915-soc/intel_pch.o
CC [M] drivers/gpu/drm/xe/i915-display/icl_dsi.o
CC drivers/gpu/drm/i915/gem/i915_gem_throttle.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_alpm.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_atomic.o
CC drivers/gpu/drm/i915/gem/i915_gem_tiling.o
CC drivers/gpu/drm/i915/gem/i915_gem_ttm.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_atomic_plane.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_audio.o
CC drivers/gpu/drm/i915/gem/i915_gem_ttm_move.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_backlight.o
CC drivers/gpu/drm/i915/gem/i915_gem_ttm_pm.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_bios.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_bw.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_cdclk.o
CC drivers/gpu/drm/i915/gem/i915_gem_userptr.o
CC drivers/gpu/drm/i915/gem/i915_gem_wait.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_color.o
CC drivers/gpu/drm/i915/gem/i915_gemfs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_combo_phy.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_connector.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_crtc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_crtc_state_dump.o
CC drivers/gpu/drm/i915/i915_active.o
CC drivers/gpu/drm/i915/i915_cmd_parser.o
CC drivers/gpu/drm/i915/i915_deps.o
CC drivers/gpu/drm/i915/i915_gem.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_cursor.o
CC drivers/gpu/drm/i915/i915_gem_evict.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_cx0_phy.o
CC drivers/gpu/drm/i915/i915_gem_gtt.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_ddi.o
CC drivers/gpu/drm/i915/i915_gem_ww.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_ddi_buf_trans.o
CC drivers/gpu/drm/i915/i915_query.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_device.o
CC drivers/gpu/drm/i915/i915_request.o
CC drivers/gpu/drm/i915/i915_scheduler.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_driver.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_irq.o
CC drivers/gpu/drm/i915/i915_trace_points.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_params.o
CC drivers/gpu/drm/i915/i915_ttm_buddy_manager.o
CC drivers/gpu/drm/i915/i915_vma.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_power.o
CC drivers/gpu/drm/i915/i915_vma_resource.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_power_map.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_proxy.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_power_well.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_uc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_trace.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_debugfs.o
CC drivers/gpu/drm/i915/gt/uc/intel_gsc_uc_heci_cmd_submit.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_wa.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_ads.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dkl_phy.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dmc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_aux.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_capture.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_aux_backlight.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_hdcp.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_ct.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_link_training.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_mst.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dp_test.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_debugfs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dpll.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dpll_mgr.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_fw.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dpt_common.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_hwconfig.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_drrs.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_log.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dsb.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_log_debugfs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dsi.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dsi_dcs_backlight.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dsi_vbt.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_rc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_encoder.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_fb.o
CC drivers/gpu/drm/i915/gt/uc/intel_guc_submission.o
CC drivers/gpu/drm/i915/gt/uc/intel_huc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_fbc.o
CC drivers/gpu/drm/i915/gt/uc/intel_huc_debugfs.o
CC drivers/gpu/drm/i915/gt/uc/intel_huc_fw.o
CC drivers/gpu/drm/i915/gt/uc/intel_uc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_fdi.o
CC drivers/gpu/drm/i915/gt/uc/intel_uc_debugfs.o
CC drivers/gpu/drm/i915/gt/uc/intel_uc_fw.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_fifo_underrun.o
CC drivers/gpu/drm/i915/gt/intel_gsc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_frontbuffer.o
CC drivers/gpu/drm/i915/i915_hwmon.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_global_state.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_gmbus.o
CC drivers/gpu/drm/i915/display/hsw_ips.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hdcp.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hdcp_gsc_message.o
CC drivers/gpu/drm/i915/display/i9xx_plane.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hdmi.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hotplug.o
CC drivers/gpu/drm/i915/display/i9xx_wm.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hotplug_irq.o
CC drivers/gpu/drm/i915/display/intel_alpm.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_hti.o
CC drivers/gpu/drm/i915/display/intel_atomic.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_link_bw.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_lspcon.o
CC drivers/gpu/drm/i915/display/intel_atomic_plane.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_modeset_lock.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_modeset_setup.o
CC drivers/gpu/drm/i915/display/intel_audio.o
CC drivers/gpu/drm/i915/display/intel_bios.o
CC drivers/gpu/drm/i915/display/intel_bo.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_modeset_verify.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_panel.o
CC drivers/gpu/drm/i915/display/intel_bw.o
CC drivers/gpu/drm/i915/display/intel_cdclk.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_pmdemand.o
CC drivers/gpu/drm/i915/display/intel_color.o
CC drivers/gpu/drm/i915/display/intel_combo_phy.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_pps.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_psr.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_qp_tables.o
CC drivers/gpu/drm/i915/display/intel_connector.o
CC drivers/gpu/drm/i915/display/intel_crtc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_quirks.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_snps_phy.o
CC drivers/gpu/drm/i915/display/intel_crtc_state_dump.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_tc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vblank.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vdsc.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vga.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_vrr.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_dmc_wl.o
CC drivers/gpu/drm/i915/display/intel_cursor.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_wm.o
CC drivers/gpu/drm/i915/display/intel_display.o
CC [M] drivers/gpu/drm/xe/i915-display/skl_scaler.o
CC [M] drivers/gpu/drm/xe/i915-display/skl_universal_plane.o
CC drivers/gpu/drm/i915/display/intel_display_driver.o
CC [M] drivers/gpu/drm/xe/i915-display/skl_watermark.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_acpi.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_opregion.o
CC drivers/gpu/drm/i915/display/intel_display_irq.o
CC drivers/gpu/drm/i915/display/intel_display_params.o
CC [M] drivers/gpu/drm/xe/xe_debugfs.o
CC drivers/gpu/drm/i915/display/intel_display_power.o
CC drivers/gpu/drm/i915/display/intel_display_power_map.o
CC [M] drivers/gpu/drm/xe/xe_gt_debugfs.o
CC drivers/gpu/drm/i915/display/intel_display_power_well.o
CC [M] drivers/gpu/drm/xe/xe_gt_sriov_vf_debugfs.o
CC [M] drivers/gpu/drm/xe/xe_gt_stats.o
CC [M] drivers/gpu/drm/xe/xe_guc_debugfs.o
CC [M] drivers/gpu/drm/xe/xe_huc_debugfs.o
CC drivers/gpu/drm/i915/display/intel_display_reset.o
CC [M] drivers/gpu/drm/xe/xe_uc_debugfs.o
CC drivers/gpu/drm/i915/display/intel_display_rps.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_debugfs.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_display_debugfs_params.o
CC drivers/gpu/drm/i915/display/intel_display_snapshot.o
CC [M] drivers/gpu/drm/xe/i915-display/intel_pipe_crc.o
CC drivers/gpu/drm/i915/display/intel_display_wa.o
CC drivers/gpu/drm/i915/display/intel_dmc.o
CC drivers/gpu/drm/i915/display/intel_dmc_wl.o
CC drivers/gpu/drm/i915/display/intel_dpio_phy.o
CC drivers/gpu/drm/i915/display/intel_dpll.o
CC drivers/gpu/drm/i915/display/intel_dpll_mgr.o
CC drivers/gpu/drm/i915/display/intel_dpt.o
CC drivers/gpu/drm/i915/display/intel_dpt_common.o
CC drivers/gpu/drm/i915/display/intel_drrs.o
CC drivers/gpu/drm/i915/display/intel_dsb.o
CC drivers/gpu/drm/i915/display/intel_dsb_buffer.o
CC drivers/gpu/drm/i915/display/intel_fb.o
CC drivers/gpu/drm/i915/display/intel_fb_bo.o
CC drivers/gpu/drm/i915/display/intel_fb_pin.o
CC drivers/gpu/drm/i915/display/intel_fbc.o
CC drivers/gpu/drm/i915/display/intel_fdi.o
CC drivers/gpu/drm/i915/display/intel_fifo_underrun.o
CC drivers/gpu/drm/i915/display/intel_frontbuffer.o
CC drivers/gpu/drm/i915/display/intel_global_state.o
CC drivers/gpu/drm/i915/display/intel_hdcp.o
CC drivers/gpu/drm/i915/display/intel_hdcp_gsc.o
CC drivers/gpu/drm/i915/display/intel_hdcp_gsc_message.o
CC drivers/gpu/drm/i915/display/intel_hotplug.o
CC drivers/gpu/drm/i915/display/intel_hotplug_irq.o
CC drivers/gpu/drm/i915/display/intel_hti.o
CC drivers/gpu/drm/i915/display/intel_link_bw.o
CC drivers/gpu/drm/i915/display/intel_load_detect.o
CC drivers/gpu/drm/i915/display/intel_lpe_audio.o
CC drivers/gpu/drm/i915/display/intel_modeset_lock.o
CC drivers/gpu/drm/i915/display/intel_modeset_setup.o
CC drivers/gpu/drm/i915/display/intel_modeset_verify.o
CC drivers/gpu/drm/i915/display/intel_overlay.o
CC drivers/gpu/drm/i915/display/intel_pch_display.o
CC drivers/gpu/drm/i915/display/intel_pch_refclk.o
CC drivers/gpu/drm/i915/display/intel_plane_initial.o
CC drivers/gpu/drm/i915/display/intel_pmdemand.o
CC drivers/gpu/drm/i915/display/intel_psr.o
CC drivers/gpu/drm/i915/display/intel_quirks.o
CC drivers/gpu/drm/i915/display/intel_sprite.o
CC drivers/gpu/drm/i915/display/intel_sprite_uapi.o
CC drivers/gpu/drm/i915/display/intel_tc.o
CC drivers/gpu/drm/i915/display/intel_vblank.o
CC drivers/gpu/drm/i915/display/intel_vga.o
CC drivers/gpu/drm/i915/display/intel_wm.o
CC drivers/gpu/drm/i915/display/skl_scaler.o
CC drivers/gpu/drm/i915/display/skl_universal_plane.o
CC drivers/gpu/drm/i915/display/skl_watermark.o
CC drivers/gpu/drm/i915/display/intel_acpi.o
CC drivers/gpu/drm/i915/display/intel_opregion.o
CC drivers/gpu/drm/i915/display/intel_display_debugfs.o
CC drivers/gpu/drm/i915/display/intel_display_debugfs_params.o
CC drivers/gpu/drm/i915/display/intel_pipe_crc.o
CC drivers/gpu/drm/i915/display/dvo_ch7017.o
CC drivers/gpu/drm/i915/display/dvo_ch7xxx.o
CC drivers/gpu/drm/i915/display/dvo_ivch.o
CC drivers/gpu/drm/i915/display/dvo_ns2501.o
CC drivers/gpu/drm/i915/display/dvo_sil164.o
CC drivers/gpu/drm/i915/display/dvo_tfp410.o
CC drivers/gpu/drm/i915/display/g4x_dp.o
CC drivers/gpu/drm/i915/display/g4x_hdmi.o
CC drivers/gpu/drm/i915/display/icl_dsi.o
CC drivers/gpu/drm/i915/display/intel_backlight.o
CC drivers/gpu/drm/i915/display/intel_crt.o
CC drivers/gpu/drm/i915/display/intel_cx0_phy.o
CC drivers/gpu/drm/i915/display/intel_ddi.o
CC drivers/gpu/drm/i915/display/intel_ddi_buf_trans.o
CC drivers/gpu/drm/i915/display/intel_display_device.o
CC drivers/gpu/drm/i915/display/intel_display_trace.o
CC drivers/gpu/drm/i915/display/intel_dkl_phy.o
CC drivers/gpu/drm/i915/display/intel_dp.o
CC drivers/gpu/drm/i915/display/intel_dp_aux.o
LD [M] drivers/gpu/drm/xe/xe.o
CC drivers/gpu/drm/i915/display/intel_dp_aux_backlight.o
CC drivers/gpu/drm/i915/display/intel_dp_hdcp.o
CC drivers/gpu/drm/i915/display/intel_dp_link_training.o
CC drivers/gpu/drm/i915/display/intel_dp_mst.o
CC drivers/gpu/drm/i915/display/intel_dp_test.o
CC drivers/gpu/drm/i915/display/intel_dsi.o
CC drivers/gpu/drm/i915/display/intel_dsi_dcs_backlight.o
CC drivers/gpu/drm/i915/display/intel_dsi_vbt.o
CC drivers/gpu/drm/i915/display/intel_dvo.o
CC drivers/gpu/drm/i915/display/intel_encoder.o
CC drivers/gpu/drm/i915/display/intel_gmbus.o
CC drivers/gpu/drm/i915/display/intel_hdmi.o
CC drivers/gpu/drm/i915/display/intel_lspcon.o
CC drivers/gpu/drm/i915/display/intel_lvds.o
CC drivers/gpu/drm/i915/display/intel_panel.o
CC drivers/gpu/drm/i915/display/intel_pps.o
CC drivers/gpu/drm/i915/display/intel_qp_tables.o
CC drivers/gpu/drm/i915/display/intel_sdvo.o
CC drivers/gpu/drm/i915/display/intel_snps_phy.o
CC drivers/gpu/drm/i915/display/intel_tv.o
CC drivers/gpu/drm/i915/display/intel_vdsc.o
CC drivers/gpu/drm/i915/display/intel_vrr.o
CC drivers/gpu/drm/i915/display/vlv_dsi.o
CC drivers/gpu/drm/i915/display/vlv_dsi_pll.o
CC drivers/gpu/drm/i915/i915_perf.o
CC drivers/gpu/drm/i915/pxp/intel_pxp.o
CC drivers/gpu/drm/i915/pxp/intel_pxp_huc.o
CC drivers/gpu/drm/i915/pxp/intel_pxp_tee.o
CC drivers/gpu/drm/i915/i915_gpu_error.o
CC drivers/gpu/drm/i915/i915_vgpu.o
AR drivers/gpu/drm/i915/built-in.a
AR drivers/gpu/drm/built-in.a
AR drivers/gpu/built-in.a
AR drivers/built-in.a
AR built-in.a
AR vmlinux.a
LD vmlinux.o
OBJCOPY modules.builtin.modinfo
GEN modules.builtin
MODPOST Module.symvers
CC .vmlinux.export.o
CC [M] fs/efivarfs/efivarfs.mod.o
CC [M] drivers/gpu/drm/drm_exec.mod.o
CC [M] drivers/gpu/drm/drm_gpuvm.mod.o
CC [M] drivers/gpu/drm/drm_suballoc_helper.mod.o
CC [M] drivers/gpu/drm/drm_ttm_helper.mod.o
CC [M] drivers/gpu/drm/scheduler/gpu-sched.mod.o
CC [M] drivers/gpu/drm/xe/xe.mod.o
CC [M] drivers/thermal/intel/x86_pkg_temp_thermal.mod.o
CC [M] sound/core/snd-hwdep.mod.o
CC [M] sound/core/snd-pcm.mod.o
CC [M] sound/pci/hda/snd-hda-codec.mod.o
CC [M] sound/pci/hda/snd-hda-codec-hdmi.mod.o
CC [M] sound/pci/hda/snd-hda-intel.mod.o
CC [M] sound/hda/snd-hda-core.mod.o
CC [M] sound/hda/snd-intel-dspcfg.mod.o
CC [M] sound/hda/snd-intel-sdw-acpi.mod.o
CC [M] net/netfilter/nf_log_syslog.mod.o
CC [M] net/netfilter/xt_mark.mod.o
CC [M] net/netfilter/xt_nat.mod.o
CC [M] net/netfilter/xt_LOG.mod.o
CC [M] net/netfilter/xt_MASQUERADE.mod.o
CC [M] net/netfilter/xt_addrtype.mod.o
CC [M] net/ipv4/netfilter/iptable_nat.mod.o
LD [M] drivers/thermal/intel/x86_pkg_temp_thermal.ko
LD [M] drivers/gpu/drm/drm_exec.ko
LD [M] drivers/gpu/drm/drm_suballoc_helper.ko
LD [M] fs/efivarfs/efivarfs.ko
LD [M] drivers/gpu/drm/drm_gpuvm.ko
LD [M] sound/pci/hda/snd-hda-codec.ko
LD [M] drivers/gpu/drm/drm_ttm_helper.ko
LD [M] drivers/gpu/drm/scheduler/gpu-sched.ko
LD [M] sound/pci/hda/snd-hda-codec-hdmi.ko
LD [M] sound/hda/snd-intel-dspcfg.ko
LD [M] sound/hda/snd-intel-sdw-acpi.ko
LD [M] net/netfilter/nf_log_syslog.ko
LD [M] sound/core/snd-hwdep.ko
LD [M] net/netfilter/xt_nat.ko
LD [M] sound/pci/hda/snd-hda-intel.ko
LD [M] net/netfilter/xt_mark.ko
LD [M] sound/hda/snd-hda-core.ko
LD [M] sound/core/snd-pcm.ko
LD [M] net/netfilter/xt_LOG.ko
LD [M] drivers/gpu/drm/xe/xe.ko
LD [M] net/ipv4/netfilter/iptable_nat.ko
LD [M] net/netfilter/xt_addrtype.ko
LD [M] net/netfilter/xt_MASQUERADE.ko
UPD include/generated/utsversion.h
CC init/version-timestamp.o
KSYMS .tmp_vmlinux0.kallsyms.S
AS .tmp_vmlinux0.kallsyms.o
LD .tmp_vmlinux1
NM .tmp_vmlinux1.syms
KSYMS .tmp_vmlinux1.kallsyms.S
AS .tmp_vmlinux1.kallsyms.o
LD .tmp_vmlinux2
NM .tmp_vmlinux2.syms
KSYMS .tmp_vmlinux2.kallsyms.S
AS .tmp_vmlinux2.kallsyms.o
LD vmlinux
NM System.map
SORTTAB vmlinux
RELOCS arch/x86/boot/compressed/vmlinux.relocs
RSTRIP vmlinux
AS arch/x86/boot/bioscall.o
CC arch/x86/boot/a20.o
CC arch/x86/boot/cmdline.o
AS arch/x86/boot/copy.o
HOSTCC arch/x86/boot/mkcpustr
CC arch/x86/boot/cpuflags.o
CC arch/x86/boot/cpucheck.o
CC arch/x86/boot/early_serial_console.o
CC arch/x86/boot/edd.o
CC arch/x86/boot/main.o
CC arch/x86/boot/memory.o
CC arch/x86/boot/pm.o
AS arch/x86/boot/pmjump.o
CC arch/x86/boot/printf.o
CC arch/x86/boot/regs.o
CC arch/x86/boot/string.o
CC arch/x86/boot/tty.o
CC arch/x86/boot/video.o
CC arch/x86/boot/video-mode.o
CC arch/x86/boot/version.o
CC arch/x86/boot/video-vga.o
CC arch/x86/boot/video-vesa.o
CC arch/x86/boot/video-bios.o
HOSTCC arch/x86/boot/tools/build
LDS arch/x86/boot/compressed/vmlinux.lds
AS arch/x86/boot/compressed/kernel_info.o
AS arch/x86/boot/compressed/head_32.o
VOFFSET arch/x86/boot/compressed/../voffset.h
CC arch/x86/boot/compressed/string.o
CC arch/x86/boot/compressed/cmdline.o
CC arch/x86/boot/compressed/error.o
CPUSTR arch/x86/boot/cpustr.h
OBJCOPY arch/x86/boot/compressed/vmlinux.bin
HOSTCC arch/x86/boot/compressed/mkpiggy
CC arch/x86/boot/compressed/cpuflags.o
CC arch/x86/boot/compressed/early_serial_console.o
CC arch/x86/boot/cpu.o
CC arch/x86/boot/compressed/kaslr.o
CC arch/x86/boot/compressed/acpi.o
CC arch/x86/boot/compressed/efi.o
GZIP arch/x86/boot/compressed/vmlinux.bin.gz
CC arch/x86/boot/compressed/misc.o
MKPIGGY arch/x86/boot/compressed/piggy.S
AS arch/x86/boot/compressed/piggy.o
LD arch/x86/boot/compressed/vmlinux
ZOFFSET arch/x86/boot/zoffset.h
OBJCOPY arch/x86/boot/vmlinux.bin
AS arch/x86/boot/header.o
LD arch/x86/boot/setup.elf
OBJCOPY arch/x86/boot/setup.bin
BUILD arch/x86/boot/bzImage
Kernel: arch/x86/boot/bzImage is ready (#1)
run-parts: executing /workspace/ci/hooks/20-kernel-doc
+ SRC_DIR=/workspace/kernel
+ cd /workspace/kernel
+ find drivers/gpu/drm/xe/ -name '*.[ch]' -not -path 'drivers/gpu/drm/xe/display/*'
+ xargs ./scripts/kernel-doc -Werror -none include/uapi/drm/xe_drm.h
date: invalid date ‘+%s’
All hooks done
^ permalink raw reply [flat|nested] 46+ messages in thread* ✓ CI.checksparse: success for Fix xe_force_wake_get() failure handling (rev5)
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (27 preceding siblings ...)
2024-09-26 1:19 ` ✓ CI.Hooks: " Patchwork
@ 2024-09-26 1:20 ` Patchwork
2024-09-26 1:42 ` ✓ CI.BAT: " Patchwork
2024-09-26 8:17 ` ✗ CI.FULL: failure " Patchwork
30 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2024-09-26 1:20 UTC (permalink / raw)
To: Ghimiray, Himal Prasad; +Cc: intel-xe
== Series Details ==
Series: Fix xe_force_wake_get() failure handling (rev5)
URL : https://patchwork.freedesktop.org/series/137982/
State : success
== Summary ==
+ trap cleanup EXIT
+ KERNEL=/kernel
+ MT=/root/linux/maintainer-tools
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools /root/linux/maintainer-tools
Cloning into '/root/linux/maintainer-tools'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ make -C /root/linux/maintainer-tools
make: Entering directory '/root/linux/maintainer-tools'
cc -O2 -g -Wextra -o remap-log remap-log.c
make: Leaving directory '/root/linux/maintainer-tools'
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ /root/linux/maintainer-tools/dim sparse --fast 88d592f72f7bc508d6a027b1f96aa2e53f803e1b
/root/linux/maintainer-tools/dim: line 2068: sparse: command not found
Sparse version:
Fast mode used, each commit won't be checked separately.
Okay!
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 46+ messages in thread* ✓ CI.BAT: success for Fix xe_force_wake_get() failure handling (rev5)
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (28 preceding siblings ...)
2024-09-26 1:20 ` ✓ CI.checksparse: " Patchwork
@ 2024-09-26 1:42 ` Patchwork
2024-09-26 8:17 ` ✗ CI.FULL: failure " Patchwork
30 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2024-09-26 1:42 UTC (permalink / raw)
To: Ghimiray, Himal Prasad; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 3723 bytes --]
== Series Details ==
Series: Fix xe_force_wake_get() failure handling (rev5)
URL : https://patchwork.freedesktop.org/series/137982/
State : success
== Summary ==
CI Bug Log - changes from xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b_BAT -> xe-pw-137982v5_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (9 -> 9)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in xe-pw-137982v5_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@xe_evict@evict-beng-small:
- bat-adlp-7: NOTRUN -> [SKIP][1] ([Intel XE#261] / [Intel XE#688]) +15 other tests skip
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/bat-adlp-7/igt@xe_evict@evict-beng-small.html
* igt@xe_exec_fault_mode@twice-userptr-invalidate-prefetch:
- bat-adlp-7: NOTRUN -> [SKIP][2] ([Intel XE#288]) +32 other tests skip
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/bat-adlp-7/igt@xe_exec_fault_mode@twice-userptr-invalidate-prefetch.html
* igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit:
- bat-adlp-7: NOTRUN -> [SKIP][3] ([Intel XE#2229])
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/bat-adlp-7/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html
#### Possible fixes ####
* igt@core_hotunplug@unbind-rebind:
- bat-adlp-7: [DMESG-WARN][4] -> [PASS][5]
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/bat-adlp-7/igt@core_hotunplug@unbind-rebind.html
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/bat-adlp-7/igt@core_hotunplug@unbind-rebind.html
* igt@kms_psr@psr-cursor-plane-move:
- bat-adlp-7: [SKIP][6] ([Intel XE#455]) -> [PASS][7] +3 other tests pass
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/bat-adlp-7/igt@kms_psr@psr-cursor-plane-move.html
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/bat-adlp-7/igt@kms_psr@psr-cursor-plane-move.html
* igt@kms_psr@psr-primary-page-flip@edp-1:
- bat-adlp-7: [DMESG-FAIL][8] -> [PASS][9] +1 other test pass
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/bat-adlp-7/igt@kms_psr@psr-primary-page-flip@edp-1.html
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/bat-adlp-7/igt@kms_psr@psr-primary-page-flip@edp-1.html
* igt@xe_live_ktest@xe_bo@xe_bo_shrink_kunit:
- bat-adlp-7: [INCOMPLETE][10] -> [PASS][11] +1 other test pass
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/bat-adlp-7/igt@xe_live_ktest@xe_bo@xe_bo_shrink_kunit.html
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/bat-adlp-7/igt@xe_live_ktest@xe_bo@xe_bo_shrink_kunit.html
[Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
[Intel XE#261]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/261
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
Build changes
-------------
* Linux: xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b -> xe-pw-137982v5
IGT_8032: 8032
xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b: 88d592f72f7bc508d6a027b1f96aa2e53f803e1b
xe-pw-137982v5: 137982v5
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/index.html
[-- Attachment #2: Type: text/html, Size: 4464 bytes --]
^ permalink raw reply [flat|nested] 46+ messages in thread* ✗ CI.FULL: failure for Fix xe_force_wake_get() failure handling (rev5)
2024-09-24 12:16 [PATCH v5 00/23] Fix xe_force_wake_get() failure handling Himal Prasad Ghimiray
` (29 preceding siblings ...)
2024-09-26 1:42 ` ✓ CI.BAT: " Patchwork
@ 2024-09-26 8:17 ` Patchwork
30 siblings, 0 replies; 46+ messages in thread
From: Patchwork @ 2024-09-26 8:17 UTC (permalink / raw)
To: Ghimiray, Himal Prasad; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 83781 bytes --]
== Series Details ==
Series: Fix xe_force_wake_get() failure handling (rev5)
URL : https://patchwork.freedesktop.org/series/137982/
State : failure
== Summary ==
CI Bug Log - changes from xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b_full -> xe-pw-137982v5_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-137982v5_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-137982v5_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (4 -> 4)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in xe-pw-137982v5_full:
### IGT changes ###
#### Possible regressions ####
* igt@kms_cursor_crc@cursor-onscreen-128x128:
- shard-adlp: NOTRUN -> [DMESG-WARN][1]
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-4/igt@kms_cursor_crc@cursor-onscreen-128x128.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible@cd-hdmi-a6-dp4:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][2]
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_flip@2x-flip-vs-suspend-interruptible@cd-hdmi-a6-dp4.html
* igt@kms_flip@flip-vs-suspend:
- shard-adlp: [PASS][3] -> [DMESG-WARN][4] +4 other tests dmesg-warn
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-adlp-4/igt@kms_flip@flip-vs-suspend.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-4/igt@kms_flip@flip-vs-suspend.html
* igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-6:
- shard-dg2-set2: [PASS][5] -> [FAIL][6]
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-434/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-6.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-464/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-6.html
#### Warnings ####
* igt@xe_exec_fault_mode@twice-userptr-invalidate-race:
- shard-dg2-set2: [SKIP][7] ([Intel XE#1201]) -> [SKIP][8] +29 other tests skip
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-433/igt@xe_exec_fault_mode@twice-userptr-invalidate-race.html
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@xe_exec_fault_mode@twice-userptr-invalidate-race.html
#### Suppressed ####
The following results come from untrusted machines, tests, or statuses.
They do not affect the overall result.
* igt@kms_async_flips@crc@pipe-d-hdmi-a-3:
- {shard-bmg}: [FAIL][9] ([Intel XE#1288]) -> [DMESG-FAIL][10] +1 other test dmesg-fail
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_async_flips@crc@pipe-d-hdmi-a-3.html
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-8/igt@kms_async_flips@crc@pipe-d-hdmi-a-3.html
* igt@kms_big_fb@x-tiled-16bpp-rotate-270:
- {shard-bmg}: [SKIP][11] ([Intel XE#2327]) -> [SKIP][12]
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_big_fb@x-tiled-16bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-32bpp-rotate-0:
- {shard-bmg}: [SKIP][13] ([Intel XE#1124]) -> [SKIP][14] +9 other tests skip
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.html
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_big_fb@yf-tiled-32bpp-rotate-0.html
* igt@kms_bw@linear-tiling-1-displays-2560x1440p:
- {shard-bmg}: [SKIP][15] ([Intel XE#367]) -> [SKIP][16] +2 other tests skip
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-5/igt@kms_bw@linear-tiling-1-displays-2560x1440p.html
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_bw@linear-tiling-1-displays-2560x1440p.html
* igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs:
- {shard-bmg}: [SKIP][17] ([Intel XE#2251]) -> [SKIP][18] +13 other tests skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs.html
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-mc-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
- {shard-bmg}: [SKIP][19] ([Intel XE#2652] / [Intel XE#787]) -> [SKIP][20]
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html
* igt@kms_content_protection@atomic:
- {shard-bmg}: [FAIL][21] ([Intel XE#1178]) -> [SKIP][22] +1 other test skip
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_content_protection@atomic.html
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_content_protection@atomic.html
* igt@kms_cursor_crc@cursor-offscreen-32x32:
- {shard-bmg}: [SKIP][23] ([Intel XE#2320]) -> [SKIP][24] +6 other tests skip
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_cursor_crc@cursor-offscreen-32x32.html
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_cursor_crc@cursor-offscreen-32x32.html
* igt@kms_fbcon_fbt@fbc:
- {shard-bmg}: [FAIL][25] ([Intel XE#1695]) -> [SKIP][26]
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_fbcon_fbt@fbc.html
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_fbcon_fbt@fbc.html
* igt@kms_feature_discovery@psr1:
- {shard-bmg}: NOTRUN -> [SKIP][27] +5 other tests skip
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-5/igt@kms_feature_discovery@psr1.html
* igt@kms_flip@2x-plain-flip-fb-recreate:
- {shard-bmg}: [PASS][28] -> [SKIP][29] +106 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_flip@2x-plain-flip-fb-recreate.html
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_flip@2x-plain-flip-fb-recreate.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling:
- {shard-bmg}: [SKIP][30] ([Intel XE#2380]) -> [SKIP][31] +4 other tests skip
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html
* igt@kms_frontbuffer_tracking@drrs-rgb565-draw-render:
- {shard-bmg}: [SKIP][32] ([Intel XE#2311]) -> [SKIP][33] +28 other tests skip
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-5/igt@kms_frontbuffer_tracking@drrs-rgb565-draw-render.html
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-rgb565-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt:
- {shard-bmg}: [FAIL][34] -> [SKIP][35] +8 other tests skip
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt.html
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt:
- {shard-bmg}: [FAIL][36] ([Intel XE#2333]) -> [SKIP][37] +5 other tests skip
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt.html
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-blt:
- {shard-bmg}: [SKIP][38] ([Intel XE#2313]) -> [SKIP][39] +27 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-blt.html
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-blt.html
* igt@kms_getfb@getfb-reject-ccs:
- {shard-bmg}: [SKIP][40] ([Intel XE#2502]) -> [SKIP][41]
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_getfb@getfb-reject-ccs.html
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_getfb@getfb-reject-ccs.html
* igt@kms_plane_multiple@tiling-yf:
- {shard-bmg}: [SKIP][42] ([Intel XE#2493]) -> [SKIP][43]
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_plane_multiple@tiling-yf.html
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_plane_multiple@tiling-yf.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5:
- {shard-bmg}: [SKIP][44] ([Intel XE#2763]) -> [SKIP][45] +3 other tests skip
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5.html
* igt@kms_psr2_sf@fbc-plane-move-sf-dmg-area:
- {shard-bmg}: [SKIP][46] ([Intel XE#1489]) -> [SKIP][47] +4 other tests skip
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-3/igt@kms_psr2_sf@fbc-plane-move-sf-dmg-area.html
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_psr2_sf@fbc-plane-move-sf-dmg-area.html
* igt@kms_psr@psr-basic:
- {shard-bmg}: [SKIP][48] ([Intel XE#2850]) -> [SKIP][49] +12 other tests skip
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_psr@psr-basic.html
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_psr@psr-basic.html
* igt@kms_rotation_crc@primary-rotation-90:
- {shard-bmg}: [SKIP][50] ([Intel XE#2329]) -> [SKIP][51] +1 other test skip
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-3/igt@kms_rotation_crc@primary-rotation-90.html
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_rotation_crc@primary-rotation-90.html
* igt@kms_scaling_modes@scaling-mode-center:
- {shard-bmg}: [SKIP][52] ([Intel XE#2413]) -> [SKIP][53] +1 other test skip
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-5/igt@kms_scaling_modes@scaling-mode-center.html
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_scaling_modes@scaling-mode-center.html
* igt@kms_tiled_display@basic-test-pattern:
- {shard-bmg}: [SKIP][54] ([Intel XE#2426]) -> [SKIP][55]
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_tiled_display@basic-test-pattern.html
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_vrr@max-min:
- {shard-bmg}: [SKIP][56] ([Intel XE#1499]) -> [SKIP][57]
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-5/igt@kms_vrr@max-min.html
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_vrr@max-min.html
* igt@kms_writeback@writeback-invalid-parameters:
- {shard-bmg}: [SKIP][58] ([Intel XE#756]) -> [SKIP][59]
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_writeback@writeback-invalid-parameters.html
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@kms_writeback@writeback-invalid-parameters.html
* igt@xe_live_ktest@xe_bo@xe_bo_shrink_kunit:
- {shard-bmg}: [PASS][60] -> [INCOMPLETE][61] +1 other test incomplete
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-1/igt@xe_live_ktest@xe_bo@xe_bo_shrink_kunit.html
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@xe_live_ktest@xe_bo@xe_bo_shrink_kunit.html
* igt@xe_live_ktest@xe_mocs@xe_live_mocs_kernel_kunit:
- {shard-bmg}: [PASS][62] -> [FAIL][63] +2 other tests fail
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@xe_live_ktest@xe_mocs@xe_live_mocs_kernel_kunit.html
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-6/igt@xe_live_ktest@xe_mocs@xe_live_mocs_kernel_kunit.html
* igt@xe_pat@pat-index-xelpg:
- {shard-bmg}: [SKIP][64] ([Intel XE#2236]) -> [SKIP][65]
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-2/igt@xe_pat@pat-index-xelpg.html
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-2/igt@xe_pat@pat-index-xelpg.html
Known issues
------------
Here are the changes found in xe-pw-137982v5_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
- shard-lnl: [PASS][66] -> [FAIL][67] ([Intel XE#1426]) +1 other test fail
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-lnl-7/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-7/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
* igt@kms_big_fb@4-tiled-8bpp-rotate-180:
- shard-adlp: NOTRUN -> [SKIP][68] ([Intel XE#1124] / [Intel XE#1201]) +7 other tests skip
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-2/igt@kms_big_fb@4-tiled-8bpp-rotate-180.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- shard-lnl: [PASS][69] -> [FAIL][70] ([Intel XE#1659])
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-lnl-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-4/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_big_fb@linear-32bpp-rotate-90:
- shard-adlp: NOTRUN -> [SKIP][71] ([Intel XE#1201] / [Intel XE#316]) +2 other tests skip
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-6/igt@kms_big_fb@linear-32bpp-rotate-90.html
* igt@kms_big_fb@linear-8bpp-rotate-270:
- shard-dg2-set2: NOTRUN -> [SKIP][72] ([Intel XE#1201] / [Intel XE#316])
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_big_fb@linear-8bpp-rotate-270.html
* igt@kms_big_fb@y-tiled-8bpp-rotate-0:
- shard-adlp: NOTRUN -> [FAIL][73] ([Intel XE#1874])
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-4/igt@kms_big_fb@y-tiled-8bpp-rotate-0.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
- shard-dg2-set2: NOTRUN -> [SKIP][74] ([Intel XE#1124] / [Intel XE#1201]) +3 other tests skip
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-464/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip.html
* igt@kms_bw@connected-linear-tiling-1-displays-2560x1440p:
- shard-dg2-set2: NOTRUN -> [SKIP][75] ([Intel XE#1201] / [Intel XE#367]) +1 other test skip
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-464/igt@kms_bw@connected-linear-tiling-1-displays-2560x1440p.html
* igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p:
- shard-adlp: NOTRUN -> [SKIP][76] ([Intel XE#1201] / [Intel XE#2191]) +1 other test skip
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-8/igt@kms_bw@connected-linear-tiling-4-displays-3840x2160p.html
* igt@kms_bw@linear-tiling-1-displays-3840x2160p:
- shard-adlp: NOTRUN -> [SKIP][77] ([Intel XE#1201] / [Intel XE#367]) +3 other tests skip
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-8/igt@kms_bw@linear-tiling-1-displays-3840x2160p.html
* igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-6:
- shard-dg2-set2: NOTRUN -> [SKIP][78] ([Intel XE#1201] / [Intel XE#787]) +13 other tests skip
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-mc-ccs@pipe-a-hdmi-a-6.html
* igt@kms_ccs@bad-pixel-format-yf-tiled-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][79] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) +3 other tests skip
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_ccs@bad-pixel-format-yf-tiled-ccs.html
* igt@kms_ccs@bad-rotation-90-4-tiled-dg2-rc-ccs-cc@pipe-b-hdmi-a-1:
- shard-adlp: NOTRUN -> [SKIP][80] ([Intel XE#1201] / [Intel XE#787]) +32 other tests skip
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-6/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-rc-ccs-cc@pipe-b-hdmi-a-1.html
* igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs:
- shard-adlp: NOTRUN -> [SKIP][81] ([Intel XE#1201] / [Intel XE#1252])
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-4/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
- shard-dg2-set2: NOTRUN -> [SKIP][82] ([Intel XE#1201] / [Intel XE#1252])
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-464/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
- shard-adlp: NOTRUN -> [SKIP][83] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) +21 other tests skip
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-2/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-dp-4:
- shard-dg2-set2: [PASS][84] -> [INCOMPLETE][85] ([Intel XE#1195]) +1 other test incomplete
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-434/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-dp-4.html
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-c-dp-4.html
* igt@kms_cdclk@mode-transition@pipe-a-hdmi-a-1:
- shard-adlp: NOTRUN -> [SKIP][86] ([Intel XE#1201] / [Intel XE#314]) +2 other tests skip
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-8/igt@kms_cdclk@mode-transition@pipe-a-hdmi-a-1.html
* igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-1:
- shard-adlp: NOTRUN -> [SKIP][87] ([Intel XE#1201] / [Intel XE#314] / [Intel XE#455]) +1 other test skip
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-8/igt@kms_cdclk@mode-transition@pipe-d-hdmi-a-1.html
* igt@kms_chamelium_color@ctm-red-to-blue:
- shard-adlp: NOTRUN -> [SKIP][88] ([Intel XE#1201] / [Intel XE#306]) +1 other test skip
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-8/igt@kms_chamelium_color@ctm-red-to-blue.html
* igt@kms_chamelium_hpd@dp-hpd-after-suspend:
- shard-adlp: NOTRUN -> [SKIP][89] ([Intel XE#1201] / [Intel XE#373]) +3 other tests skip
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-8/igt@kms_chamelium_hpd@dp-hpd-after-suspend.html
* igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe:
- shard-dg2-set2: NOTRUN -> [SKIP][90] ([Intel XE#1201] / [Intel XE#373]) +4 other tests skip
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe.html
* igt@kms_cursor_crc@cursor-offscreen-32x32:
- shard-adlp: NOTRUN -> [SKIP][91] ([Intel XE#1201] / [Intel XE#455]) +10 other tests skip
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-8/igt@kms_cursor_crc@cursor-offscreen-32x32.html
* igt@kms_cursor_crc@cursor-random-512x512:
- shard-adlp: NOTRUN -> [SKIP][92] ([Intel XE#1201] / [Intel XE#308]) +1 other test skip
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-2/igt@kms_cursor_crc@cursor-random-512x512.html
* igt@kms_cursor_crc@cursor-sliding-max-size:
- shard-dg2-set2: NOTRUN -> [SKIP][93] ([Intel XE#1201] / [Intel XE#455]) +1 other test skip
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_cursor_crc@cursor-sliding-max-size.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size:
- shard-adlp: NOTRUN -> [SKIP][94] ([Intel XE#1201] / [Intel XE#309]) +1 other test skip
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-2/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic-transitions-varying-size.html
* igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible:
- shard-adlp: NOTRUN -> [SKIP][95] ([Intel XE#1201] / [Intel XE#310]) +5 other tests skip
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-6/igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible.html
* igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling:
- shard-adlp: NOTRUN -> [DMESG-FAIL][96] ([Intel XE#324]) +1 other test dmesg-fail
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-4/igt@kms_flip_scaled_crc@flip-64bpp-xtile-to-16bpp-xtile-downscaling.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render:
- shard-adlp: NOTRUN -> [FAIL][97] ([Intel XE#1861])
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen:
- shard-adlp: NOTRUN -> [SKIP][98] ([Intel XE#1201] / [Intel XE#656]) +32 other tests skip
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-fullscreen.html
* igt@kms_frontbuffer_tracking@fbcdrrs-1p-pri-indfb-multidraw:
- shard-adlp: NOTRUN -> [SKIP][99] ([Intel XE#1201] / [Intel XE#651]) +5 other tests skip
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-6/igt@kms_frontbuffer_tracking@fbcdrrs-1p-pri-indfb-multidraw.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-plflip-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][100] ([Intel XE#1201] / [Intel XE#651]) +9 other tests skip
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcdrrs-2p-scndscrn-shrfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-render:
- shard-adlp: NOTRUN -> [SKIP][101] ([Intel XE#1201] / [Intel XE#653]) +7 other tests skip
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][102] ([Intel XE#1201] / [Intel XE#653]) +8 other tests skip
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-464/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html
* igt@kms_plane@plane-position-covered@pipe-a-plane-3:
- shard-lnl: [PASS][103] -> [DMESG-FAIL][104] ([Intel XE#324]) +1 other test dmesg-fail
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-lnl-3/igt@kms_plane@plane-position-covered@pipe-a-plane-3.html
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-4/igt@kms_plane@plane-position-covered@pipe-a-plane-3.html
* igt@kms_plane@plane-position-hole-dpms@pipe-b-plane-3:
- shard-lnl: [PASS][105] -> [DMESG-WARN][106] ([Intel XE#324]) +11 other tests dmesg-warn
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-lnl-3/igt@kms_plane@plane-position-hole-dpms@pipe-b-plane-3.html
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-4/igt@kms_plane@plane-position-hole-dpms@pipe-b-plane-3.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress:
- shard-adlp: NOTRUN -> [SKIP][107] ([Intel XE#1201] / [Intel XE#836])
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-6/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
* igt@kms_psr@psr-basic:
- shard-adlp: NOTRUN -> [SKIP][108] ([Intel XE#1201]) +33 other tests skip
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-8/igt@kms_psr@psr-basic.html
* igt@kms_psr@psr2-primary-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][109] ([Intel XE#1201] / [Intel XE#2850])
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-464/igt@kms_psr@psr2-primary-blt.html
* igt@kms_tv_load_detect@load-detect:
- shard-adlp: NOTRUN -> [SKIP][110] ([Intel XE#1201] / [Intel XE#330])
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-2/igt@kms_tv_load_detect@load-detect.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1:
- shard-lnl: [PASS][111] -> [FAIL][112] ([Intel XE#899])
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-lnl-4/igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1.html
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-3/igt@kms_universal_plane@cursor-fb-leak@pipe-a-edp-1.html
* igt@kms_writeback@writeback-fb-id:
- shard-dg2-set2: NOTRUN -> [SKIP][113] ([Intel XE#1201] / [Intel XE#756])
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_writeback@writeback-fb-id.html
* igt@xe_ccs@ctrl-surf-copy-new-ctx:
- shard-adlp: NOTRUN -> [SKIP][114] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#488])
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-4/igt@xe_ccs@ctrl-surf-copy-new-ctx.html
* igt@xe_drm_fdinfo@utilization-single-full-load-destroy-queue:
- shard-lnl: [PASS][115] -> [FAIL][116] ([Intel XE#2667])
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-lnl-5/igt@xe_drm_fdinfo@utilization-single-full-load-destroy-queue.html
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-2/igt@xe_drm_fdinfo@utilization-single-full-load-destroy-queue.html
* igt@xe_evict@evict-large-multi-vm-cm:
- shard-dg2-set2: NOTRUN -> [FAIL][117] ([Intel XE#1600])
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-464/igt@xe_evict@evict-large-multi-vm-cm.html
* igt@xe_evict@evict-small-external-cm:
- shard-adlp: NOTRUN -> [SKIP][118] ([Intel XE#1201] / [Intel XE#261] / [Intel XE#688]) +3 other tests skip
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-6/igt@xe_evict@evict-small-external-cm.html
* igt@xe_evict_ccs@evict-overcommit-simple:
- shard-adlp: NOTRUN -> [SKIP][119] ([Intel XE#1201] / [Intel XE#688])
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-8/igt@xe_evict_ccs@evict-overcommit-simple.html
* igt@xe_exec_basic@multigpu-no-exec-bindexecqueue-rebind:
- shard-adlp: NOTRUN -> [SKIP][120] ([Intel XE#1201] / [Intel XE#1392]) +4 other tests skip
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-8/igt@xe_exec_basic@multigpu-no-exec-bindexecqueue-rebind.html
* igt@xe_exec_fault_mode@many-execqueues-rebind-prefetch:
- shard-lnl: [PASS][121] -> [DMESG-WARN][122] ([Intel XE#877])
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-lnl-8/igt@xe_exec_fault_mode@many-execqueues-rebind-prefetch.html
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-1/igt@xe_exec_fault_mode@many-execqueues-rebind-prefetch.html
* igt@xe_exec_fault_mode@twice-basic-prefetch:
- shard-dg2-set2: NOTRUN -> [SKIP][123] ([Intel XE#1201] / [Intel XE#288])
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-464/igt@xe_exec_fault_mode@twice-basic-prefetch.html
* igt@xe_exec_fault_mode@twice-bindexecqueue-imm:
- shard-adlp: NOTRUN -> [SKIP][124] ([Intel XE#1201] / [Intel XE#288]) +1 other test skip
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-6/igt@xe_exec_fault_mode@twice-bindexecqueue-imm.html
* igt@xe_exec_reset@parallel-gt-reset:
- shard-dg2-set2: [PASS][125] -> [TIMEOUT][126] ([Intel XE#2105])
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@xe_exec_reset@parallel-gt-reset.html
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@xe_exec_reset@parallel-gt-reset.html
* igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit:
- shard-adlp: NOTRUN -> [SKIP][127] ([Intel XE#1201] / [Intel XE#2229])
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-6/igt@xe_live_ktest@xe_migrate@xe_validate_ccs_kunit.html
* igt@xe_oa@oa-exponents:
- shard-lnl: [PASS][128] -> [FAIL][129] ([Intel XE#2723])
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-lnl-1/igt@xe_oa@oa-exponents.html
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-5/igt@xe_oa@oa-exponents.html
* igt@xe_oa@oa-exponents@ccs-0:
- shard-lnl: NOTRUN -> [FAIL][130] ([Intel XE#2723])
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-5/igt@xe_oa@oa-exponents@ccs-0.html
* igt@xe_pm@s4-basic:
- shard-adlp: [PASS][131] -> [ABORT][132] ([Intel XE#1358] / [Intel XE#1607])
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-adlp-2/igt@xe_pm@s4-basic.html
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-9/igt@xe_pm@s4-basic.html
* igt@xe_pm@s4-vm-bind-unbind-all:
- shard-adlp: [PASS][133] -> [ABORT][134] ([Intel XE#1794])
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-adlp-2/igt@xe_pm@s4-vm-bind-unbind-all.html
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-9/igt@xe_pm@s4-vm-bind-unbind-all.html
- shard-lnl: [PASS][135] -> [ABORT][136] ([Intel XE#1794])
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-lnl-5/igt@xe_pm@s4-vm-bind-unbind-all.html
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-2/igt@xe_pm@s4-vm-bind-unbind-all.html
* igt@xe_query@multigpu-query-engines:
- shard-dg2-set2: NOTRUN -> [SKIP][137] ([Intel XE#1201]) +12 other tests skip
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-464/igt@xe_query@multigpu-query-engines.html
#### Possible fixes ####
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-1-x:
- shard-adlp: [DMESG-WARN][138] ([Intel XE#1033]) -> [PASS][139]
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-adlp-1/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-1-x.html
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-6/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-d-hdmi-a-1-x.html
* igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-edp-1:
- shard-lnl: [FAIL][140] ([Intel XE#1426]) -> [PASS][141] +1 other test pass
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-lnl-2/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-edp-1.html
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-8/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-edp-1.html
* igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-6:
- shard-dg2-set2: [FAIL][142] ([Intel XE#1426]) -> [PASS][143] +3 other tests pass
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-433/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-6.html
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-6.html
* igt@kms_big_fb@4-tiled-64bpp-rotate-180:
- shard-lnl: [FAIL][144] ([Intel XE#1659]) -> [PASS][145] +1 other test pass
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-lnl-8/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-1/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html
* igt@kms_bw@connected-linear-tiling-1-displays-2560x1440p:
- shard-adlp: [INCOMPLETE][146] ([Intel XE#1195]) -> [PASS][147]
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-adlp-4/igt@kms_bw@connected-linear-tiling-1-displays-2560x1440p.html
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-4/igt@kms_bw@connected-linear-tiling-1-displays-2560x1440p.html
* igt@kms_cursor_legacy@flip-vs-cursor-toggle:
- {shard-bmg}: [FAIL][148] -> [PASS][149] +5 other tests pass
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-6/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-5/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html
* igt@kms_cursor_legacy@single-move@pipe-a:
- shard-dg2-set2: [DMESG-WARN][150] ([Intel XE#877]) -> [PASS][151] +1 other test pass
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-435/igt@kms_cursor_legacy@single-move@pipe-a.html
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-435/igt@kms_cursor_legacy@single-move@pipe-a.html
* igt@kms_cursor_legacy@torture-move:
- shard-adlp: [DMESG-WARN][152] ([Intel XE#877]) -> [PASS][153] +1 other test pass
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-adlp-8/igt@kms_cursor_legacy@torture-move.html
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-2/igt@kms_cursor_legacy@torture-move.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-hdmi-a6-dp4:
- shard-dg2-set2: [INCOMPLETE][154] ([Intel XE#1195]) -> [PASS][155]
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-433/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-hdmi-a6-dp4.html
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-hdmi-a6-dp4.html
* igt@kms_flip@2x-plain-flip-ts-check-interruptible@bd-dp2-hdmi-a3:
- {shard-bmg}: [FAIL][156] ([Intel XE#886]) -> [PASS][157] +8 other tests pass
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-6/igt@kms_flip@2x-plain-flip-ts-check-interruptible@bd-dp2-hdmi-a3.html
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-5/igt@kms_flip@2x-plain-flip-ts-check-interruptible@bd-dp2-hdmi-a3.html
* igt@kms_flip@absolute-wf_vblank:
- shard-lnl: [FAIL][158] ([Intel XE#2631]) -> [PASS][159] +1 other test pass
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-lnl-8/igt@kms_flip@absolute-wf_vblank.html
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-1/igt@kms_flip@absolute-wf_vblank.html
* igt@kms_flip@blocking-wf_vblank:
- shard-lnl: [FAIL][160] ([Intel XE#886]) -> [PASS][161] +6 other tests pass
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-lnl-5/igt@kms_flip@blocking-wf_vblank.html
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-8/igt@kms_flip@blocking-wf_vblank.html
* igt@kms_flip@flip-vs-dpms-off-vs-modeset-interruptible@b-edp1:
- shard-lnl: [FAIL][162] -> [PASS][163] +1 other test pass
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-lnl-4/igt@kms_flip@flip-vs-dpms-off-vs-modeset-interruptible@b-edp1.html
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-5/igt@kms_flip@flip-vs-dpms-off-vs-modeset-interruptible@b-edp1.html
* igt@kms_plane@plane-position-covered@pipe-a-plane-4:
- shard-lnl: [DMESG-FAIL][164] ([Intel XE#324]) -> [PASS][165] +1 other test pass
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-lnl-3/igt@kms_plane@plane-position-covered@pipe-a-plane-4.html
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-4/igt@kms_plane@plane-position-covered@pipe-a-plane-4.html
* igt@kms_plane@plane-position-hole@pipe-b-plane-2:
- shard-lnl: [DMESG-WARN][166] ([Intel XE#324]) -> [PASS][167] +2 other tests pass
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-lnl-4/igt@kms_plane@plane-position-hole@pipe-b-plane-2.html
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-3/igt@kms_plane@plane-position-hole@pipe-b-plane-2.html
* igt@kms_plane_cursor@viewport:
- {shard-bmg}: [DMESG-WARN][168] ([Intel XE#877]) -> [PASS][169] +12 other tests pass
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-8/igt@kms_plane_cursor@viewport.html
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-4/igt@kms_plane_cursor@viewport.html
* igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-4:
- shard-dg2-set2: [FAIL][170] -> [PASS][171]
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-434/igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-4.html
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-464/igt@kms_plane_scaling@intel-max-src-size@pipe-a-dp-4.html
* igt@kms_plane_scaling@planes-upscale-20x20:
- {shard-bmg}: [DMESG-WARN][172] ([Intel XE#2566]) -> [PASS][173] +1 other test pass
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-6/igt@kms_plane_scaling@planes-upscale-20x20.html
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-5/igt@kms_plane_scaling@planes-upscale-20x20.html
* igt@kms_plane_scaling@planes-upscale-20x20@pipe-a:
- {shard-bmg}: [DMESG-WARN][174] -> [PASS][175] +7 other tests pass
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-6/igt@kms_plane_scaling@planes-upscale-20x20@pipe-a.html
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-5/igt@kms_plane_scaling@planes-upscale-20x20@pipe-a.html
* igt@kms_rotation_crc@multiplane-rotation-cropping-top:
- {shard-bmg}: [INCOMPLETE][176] ([Intel XE#2870]) -> [PASS][177]
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-6/igt@kms_rotation_crc@multiplane-rotation-cropping-top.html
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-5/igt@kms_rotation_crc@multiplane-rotation-cropping-top.html
* igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1:
- shard-lnl: [FAIL][178] ([Intel XE#899]) -> [PASS][179]
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-lnl-4/igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1.html
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-lnl-3/igt@kms_universal_plane@cursor-fb-leak@pipe-c-edp-1.html
* igt@xe_evict@evict-mixed-many-threads-small:
- {shard-bmg}: [TIMEOUT][180] ([Intel XE#1473]) -> [PASS][181] +1 other test pass
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-bmg-4/igt@xe_evict@evict-mixed-many-threads-small.html
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-bmg-3/igt@xe_evict@evict-mixed-many-threads-small.html
- shard-dg2-set2: [TIMEOUT][182] ([Intel XE#1473]) -> [PASS][183] +1 other test pass
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-466/igt@xe_evict@evict-mixed-many-threads-small.html
[183]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-435/igt@xe_evict@evict-mixed-many-threads-small.html
* igt@xe_pm@s2idle-multiple-execs:
- shard-adlp: [DMESG-WARN][184] -> [PASS][185] +2 other tests pass
[184]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-adlp-4/igt@xe_pm@s2idle-multiple-execs.html
[185]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-9/igt@xe_pm@s2idle-multiple-execs.html
* igt@xe_pm@s3-vm-bind-userptr:
- shard-dg2-set2: [INCOMPLETE][186] ([Intel XE#1195] / [Intel XE#569]) -> [PASS][187]
[186]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-434/igt@xe_pm@s3-vm-bind-userptr.html
[187]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-464/igt@xe_pm@s3-vm-bind-userptr.html
* igt@xe_pm@s4-basic-exec:
- shard-adlp: [ABORT][188] ([Intel XE#1358] / [Intel XE#1607] / [Intel XE#1794]) -> [PASS][189]
[188]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-adlp-9/igt@xe_pm@s4-basic-exec.html
[189]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-6/igt@xe_pm@s4-basic-exec.html
* igt@xe_pm@s4-exec-after:
- shard-adlp: [ABORT][190] ([Intel XE#1358] / [Intel XE#1607]) -> [PASS][191]
[190]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-adlp-9/igt@xe_pm@s4-exec-after.html
[191]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-8/igt@xe_pm@s4-exec-after.html
* igt@xe_pm@s4-mocs:
- shard-adlp: [ABORT][192] ([Intel XE#1794]) -> [PASS][193]
[192]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-adlp-9/igt@xe_pm@s4-mocs.html
[193]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-2/igt@xe_pm@s4-mocs.html
#### Warnings ####
* igt@kms_big_fb@4-tiled-8bpp-rotate-270:
- shard-dg2-set2: [SKIP][194] ([Intel XE#316]) -> [SKIP][195] ([Intel XE#1201] / [Intel XE#316]) +3 other tests skip
[194]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_big_fb@4-tiled-8bpp-rotate-270.html
[195]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_big_fb@4-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@linear-16bpp-rotate-270:
- shard-dg2-set2: [SKIP][196] ([Intel XE#1201] / [Intel XE#316]) -> [SKIP][197] ([Intel XE#316]) +5 other tests skip
[196]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-463/igt@kms_big_fb@linear-16bpp-rotate-270.html
[197]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_big_fb@linear-16bpp-rotate-270.html
* igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
- shard-adlp: [FAIL][198] ([Intel XE#1231]) -> [DMESG-FAIL][199] ([Intel XE#324])
[198]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-adlp-8/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
[199]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-2/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
* igt@kms_big_fb@y-tiled-64bpp-rotate-270:
- shard-dg2-set2: [SKIP][200] ([Intel XE#1124]) -> [SKIP][201] ([Intel XE#1124] / [Intel XE#1201]) +4 other tests skip
[200]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_big_fb@y-tiled-64bpp-rotate-270.html
[201]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_big_fb@y-tiled-64bpp-rotate-270.html
* igt@kms_big_fb@y-tiled-addfb:
- shard-dg2-set2: [SKIP][202] ([Intel XE#1201] / [Intel XE#619]) -> [SKIP][203] ([Intel XE#619])
[202]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-463/igt@kms_big_fb@y-tiled-addfb.html
[203]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_big_fb@y-tiled-addfb.html
* igt@kms_big_fb@yf-tiled-64bpp-rotate-180:
- shard-dg2-set2: [SKIP][204] ([Intel XE#1124] / [Intel XE#1201]) -> [SKIP][205] ([Intel XE#1124]) +9 other tests skip
[204]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-436/igt@kms_big_fb@yf-tiled-64bpp-rotate-180.html
[205]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_big_fb@yf-tiled-64bpp-rotate-180.html
* igt@kms_big_fb@yf-tiled-addfb-size-overflow:
- shard-dg2-set2: [SKIP][206] ([Intel XE#610]) -> [SKIP][207] ([Intel XE#1201] / [Intel XE#610])
[206]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html
[207]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html
* igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p:
- shard-dg2-set2: [SKIP][208] ([Intel XE#367]) -> [SKIP][209] ([Intel XE#1201] / [Intel XE#367]) +2 other tests skip
[208]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
[209]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
* igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p:
- shard-dg2-set2: [SKIP][210] ([Intel XE#1201] / [Intel XE#2191]) -> [SKIP][211] ([Intel XE#2191]) +1 other test skip
[210]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-433/igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p.html
[211]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_bw@connected-linear-tiling-4-displays-1920x1080p.html
* igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p:
- shard-dg2-set2: [SKIP][212] ([Intel XE#2191]) -> [SKIP][213] ([Intel XE#1201] / [Intel XE#2191])
[212]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p.html
[213]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_bw@connected-linear-tiling-4-displays-2560x1440p.html
* igt@kms_bw@linear-tiling-2-displays-3840x2160p:
- shard-dg2-set2: [SKIP][214] ([Intel XE#1201] / [Intel XE#367]) -> [SKIP][215] ([Intel XE#367]) +4 other tests skip
[214]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-436/igt@kms_bw@linear-tiling-2-displays-3840x2160p.html
[215]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_bw@linear-tiling-2-displays-3840x2160p.html
* igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-4:
- shard-dg2-set2: [SKIP][216] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) -> [SKIP][217] ([Intel XE#455] / [Intel XE#787]) +27 other tests skip
[216]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-463/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-4.html
[217]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs-cc@pipe-d-dp-4.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs:
- shard-dg2-set2: [SKIP][218] ([Intel XE#1252]) -> [SKIP][219] ([Intel XE#1201] / [Intel XE#1252]) +1 other test skip
[218]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html
[219]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-6:
- shard-dg2-set2: [SKIP][220] ([Intel XE#1201] / [Intel XE#787]) -> [SKIP][221] ([Intel XE#787]) +97 other tests skip
[220]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-436/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-6.html
[221]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-gen12-mc-ccs@pipe-b-hdmi-a-6.html
* igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-c-hdmi-a-6:
- shard-dg2-set2: [SKIP][222] ([Intel XE#787]) -> [SKIP][223] ([Intel XE#1201] / [Intel XE#787]) +48 other tests skip
[222]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-c-hdmi-a-6.html
[223]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-c-hdmi-a-6.html
* igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs@pipe-d-dp-4:
- shard-dg2-set2: [SKIP][224] ([Intel XE#455] / [Intel XE#787]) -> [SKIP][225] ([Intel XE#1201] / [Intel XE#455] / [Intel XE#787]) +13 other tests skip
[224]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs@pipe-d-dp-4.html
[225]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-mc-ccs@pipe-d-dp-4.html
* igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
- shard-dg2-set2: [SKIP][226] ([Intel XE#1201] / [Intel XE#1252]) -> [SKIP][227] ([Intel XE#1252])
[226]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html
[227]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html
* igt@kms_chamelium_color@ctm-blue-to-red:
- shard-dg2-set2: [SKIP][228] ([Intel XE#1201] / [Intel XE#306]) -> [SKIP][229] ([Intel XE#306])
[228]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-436/igt@kms_chamelium_color@ctm-blue-to-red.html
[229]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_chamelium_color@ctm-blue-to-red.html
* igt@kms_chamelium_color@ctm-max:
- shard-dg2-set2: [SKIP][230] ([Intel XE#306]) -> [SKIP][231] ([Intel XE#1201] / [Intel XE#306])
[230]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_chamelium_color@ctm-max.html
[231]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_chamelium_color@ctm-max.html
* igt@kms_chamelium_hpd@hdmi-hpd:
- shard-dg2-set2: [SKIP][232] ([Intel XE#373]) -> [SKIP][233] ([Intel XE#1201] / [Intel XE#373]) +5 other tests skip
[232]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_chamelium_hpd@hdmi-hpd.html
[233]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_chamelium_hpd@hdmi-hpd.html
* igt@kms_chamelium_hpd@vga-hpd:
- shard-dg2-set2: [SKIP][234] ([Intel XE#1201] / [Intel XE#373]) -> [SKIP][235] ([Intel XE#373]) +9 other tests skip
[234]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-463/igt@kms_chamelium_hpd@vga-hpd.html
[235]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_chamelium_hpd@vga-hpd.html
* igt@kms_content_protection@dp-mst-lic-type-0:
- shard-dg2-set2: [SKIP][236] ([Intel XE#1201] / [Intel XE#307]) -> [SKIP][237] ([Intel XE#307]) +1 other test skip
[236]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-463/igt@kms_content_protection@dp-mst-lic-type-0.html
[237]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_content_protection@dp-mst-lic-type-0.html
* igt@kms_cursor_crc@cursor-onscreen-512x512:
- shard-dg2-set2: [SKIP][238] ([Intel XE#308]) -> [SKIP][239] ([Intel XE#1201] / [Intel XE#308]) +1 other test skip
[238]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_cursor_crc@cursor-onscreen-512x512.html
[239]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_cursor_crc@cursor-onscreen-512x512.html
* igt@kms_cursor_crc@cursor-sliding-512x170:
- shard-dg2-set2: [SKIP][240] ([Intel XE#1201] / [Intel XE#308]) -> [SKIP][241] ([Intel XE#308]) +1 other test skip
[240]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-463/igt@kms_cursor_crc@cursor-sliding-512x170.html
[241]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_cursor_crc@cursor-sliding-512x170.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
- shard-dg2-set2: [SKIP][242] ([Intel XE#323]) -> [SKIP][243] ([Intel XE#1201] / [Intel XE#323])
[242]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
[243]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size:
- shard-dg2-set2: [SKIP][244] ([Intel XE#1201] / [Intel XE#323]) -> [SKIP][245] ([Intel XE#323])
[244]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-433/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
[245]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html
* igt@kms_display_modes@mst-extended-mode-negative:
- shard-dg2-set2: [SKIP][246] ([Intel XE#307]) -> [SKIP][247] ([Intel XE#1201] / [Intel XE#307])
[246]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_display_modes@mst-extended-mode-negative.html
[247]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_display_modes@mst-extended-mode-negative.html
* igt@kms_fbcon_fbt@psr-suspend:
- shard-dg2-set2: [SKIP][248] ([Intel XE#776]) -> [SKIP][249] ([Intel XE#1201] / [Intel XE#776])
[248]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_fbcon_fbt@psr-suspend.html
[249]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_fbcon_fbt@psr-suspend.html
* igt@kms_feature_discovery@chamelium:
- shard-dg2-set2: [SKIP][250] ([Intel XE#701]) -> [SKIP][251] ([Intel XE#1201] / [Intel XE#701])
[250]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_feature_discovery@chamelium.html
[251]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_feature_discovery@chamelium.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible:
- shard-dg2-set2: [INCOMPLETE][252] ([Intel XE#1195] / [Intel XE#2049] / [Intel XE#2597]) -> [INCOMPLETE][253] ([Intel XE#2049] / [Intel XE#2597])
[252]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-433/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
[253]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling:
- shard-dg2-set2: [SKIP][254] ([Intel XE#1201] / [Intel XE#455]) -> [SKIP][255] ([Intel XE#455]) +22 other tests skip
[254]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-436/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling.html
[255]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytile-downscaling.html
* igt@kms_frontbuffer_tracking@drrs-indfb-scaledprimary:
- shard-dg2-set2: [SKIP][256] ([Intel XE#1201] / [Intel XE#651]) -> [SKIP][257] ([Intel XE#651]) +27 other tests skip
[256]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-436/igt@kms_frontbuffer_tracking@drrs-indfb-scaledprimary.html
[257]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_frontbuffer_tracking@drrs-indfb-scaledprimary.html
* igt@kms_frontbuffer_tracking@fbc-tiling-y:
- shard-dg2-set2: [SKIP][258] ([Intel XE#658]) -> [SKIP][259] ([Intel XE#1201] / [Intel XE#658])
[258]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_frontbuffer_tracking@fbc-tiling-y.html
[259]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_frontbuffer_tracking@fbc-tiling-y.html
* igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-mmap-wc:
- shard-dg2-set2: [SKIP][260] ([Intel XE#651]) -> [SKIP][261] ([Intel XE#1201] / [Intel XE#651]) +15 other tests skip
[260]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-mmap-wc.html
[261]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcdrrs-rgb101010-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y:
- shard-dg2-set2: [SKIP][262] ([Intel XE#1201]) -> [SKIP][263] ([Intel XE#1201] / [Intel XE#658]) +1 other test skip
[262]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-466/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html
[263]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-435/igt@kms_frontbuffer_tracking@fbcdrrs-tiling-y.html
* igt@kms_frontbuffer_tracking@fbcpsr-slowdraw:
- shard-dg2-set2: [SKIP][264] ([Intel XE#653]) -> [SKIP][265] ([Intel XE#1201] / [Intel XE#653]) +16 other tests skip
[264]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_frontbuffer_tracking@fbcpsr-slowdraw.html
[265]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcpsr-slowdraw.html
* igt@kms_frontbuffer_tracking@plane-fbc-rte:
- shard-dg2-set2: [SKIP][266] ([Intel XE#1158]) -> [SKIP][267] ([Intel XE#1158] / [Intel XE#1201])
[266]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_frontbuffer_tracking@plane-fbc-rte.html
[267]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_frontbuffer_tracking@plane-fbc-rte.html
* igt@kms_frontbuffer_tracking@psr-slowdraw:
- shard-dg2-set2: [SKIP][268] ([Intel XE#1201] / [Intel XE#653]) -> [SKIP][269] ([Intel XE#653]) +29 other tests skip
[268]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-433/igt@kms_frontbuffer_tracking@psr-slowdraw.html
[269]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_frontbuffer_tracking@psr-slowdraw.html
* igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-b:
- shard-dg2-set2: [SKIP][270] ([Intel XE#1201]) -> [SKIP][271] ([Intel XE#2763]) +14 other tests skip
[270]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-433/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-b.html
[271]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-pixel-format@pipe-b.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling:
- shard-dg2-set2: [SKIP][272] ([Intel XE#1201] / [Intel XE#455]) -> [SKIP][273] ([Intel XE#1201] / [Intel XE#2763] / [Intel XE#455]) +9 other tests skip
[272]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-463/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling.html
[273]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-464/igt@kms_plane_scaling@planes-downscale-factor-0-25-unity-scaling.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d:
- shard-dg2-set2: [SKIP][274] ([Intel XE#1201] / [Intel XE#455]) -> [SKIP][275] ([Intel XE#2763] / [Intel XE#455]) +9 other tests skip
[274]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-433/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d.html
[275]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-b:
- shard-dg2-set2: [SKIP][276] ([Intel XE#1201]) -> [SKIP][277] ([Intel XE#1201] / [Intel XE#2763]) +14 other tests skip
[276]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-466/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-b.html
[277]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-466/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-25@pipe-b.html
* igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-sf:
- shard-dg2-set2: [SKIP][278] ([Intel XE#1489]) -> [SKIP][279] ([Intel XE#1201] / [Intel XE#1489]) +2 other tests skip
[278]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-sf.html
[279]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_psr2_sf@fbc-overlay-plane-move-continuous-sf.html
* igt@kms_psr2_sf@overlay-plane-move-continuous-sf:
- shard-dg2-set2: [SKIP][280] ([Intel XE#1201]) -> [SKIP][281] ([Intel XE#1489]) +4 other tests skip
[280]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-436/igt@kms_psr2_sf@overlay-plane-move-continuous-sf.html
[281]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_psr2_sf@overlay-plane-move-continuous-sf.html
* igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area:
- shard-dg2-set2: [SKIP][282] ([Intel XE#1201]) -> [SKIP][283] ([Intel XE#1201] / [Intel XE#1489]) +14 other tests skip
[282]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-463/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area.html
[283]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-464/igt@kms_psr2_sf@overlay-plane-update-sf-dmg-area.html
* igt@kms_psr@fbc-psr2-sprite-plane-onoff:
- shard-dg2-set2: [SKIP][284] ([Intel XE#1201]) -> [SKIP][285] ([Intel XE#2850]) +13 other tests skip
[284]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-463/igt@kms_psr@fbc-psr2-sprite-plane-onoff.html
[285]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_psr@fbc-psr2-sprite-plane-onoff.html
* igt@kms_psr@pr-dpms:
- shard-dg2-set2: [SKIP][286] ([Intel XE#2850]) -> [SKIP][287] ([Intel XE#1201] / [Intel XE#2850]) +9 other tests skip
[286]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_psr@pr-dpms.html
[287]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_psr@pr-dpms.html
* igt@kms_psr@psr-cursor-plane-move:
- shard-dg2-set2: [SKIP][288] ([Intel XE#1201] / [Intel XE#2850]) -> [SKIP][289] ([Intel XE#2850])
[288]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-463/igt@kms_psr@psr-cursor-plane-move.html
[289]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_psr@psr-cursor-plane-move.html
* igt@kms_psr@psr-dpms:
- shard-dg2-set2: [SKIP][290] ([Intel XE#1201]) -> [SKIP][291] ([Intel XE#1201] / [Intel XE#2850]) +53 other tests skip
[290]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-466/igt@kms_psr@psr-dpms.html
[291]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-435/igt@kms_psr@psr-dpms.html
* igt@kms_rotation_crc@bad-pixel-format:
- shard-dg2-set2: [SKIP][292] ([Intel XE#1201] / [Intel XE#327]) -> [SKIP][293] ([Intel XE#327]) +1 other test skip
[292]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-463/igt@kms_rotation_crc@bad-pixel-format.html
[293]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_rotation_crc@bad-pixel-format.html
* igt@kms_scaling_modes@scaling-mode-full-aspect:
- shard-dg2-set2: [SKIP][294] ([Intel XE#455]) -> [SKIP][295] ([Intel XE#1201] / [Intel XE#455]) +11 other tests skip
[294]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@kms_scaling_modes@scaling-mode-full-aspect.html
[295]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@kms_scaling_modes@scaling-mode-full-aspect.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-dg2-set2: [SKIP][296] ([Intel XE#1201] / [Intel XE#362]) -> [FAIL][297] ([Intel XE#1729])
[296]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-463/igt@kms_tiled_display@basic-test-pattern.html
[297]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-464/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-dg2-set2: [SKIP][298] ([Intel XE#1201] / [Intel XE#362]) -> [SKIP][299] ([Intel XE#1201] / [Intel XE#1500])
[298]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-463/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[299]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-464/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_writeback@writeback-check-output-xrgb2101010:
- shard-dg2-set2: [SKIP][300] ([Intel XE#1201] / [Intel XE#756]) -> [SKIP][301] ([Intel XE#756]) +1 other test skip
[300]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-436/igt@kms_writeback@writeback-check-output-xrgb2101010.html
[301]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@kms_writeback@writeback-check-output-xrgb2101010.html
* igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute:
- shard-dg2-set2: [SKIP][302] ([Intel XE#1201] / [Intel XE#1280] / [Intel XE#455]) -> [SKIP][303] ([Intel XE#1280] / [Intel XE#455]) +1 other test skip
[302]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-436/igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute.html
[303]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@xe_compute_preempt@compute-threadgroup-preempt@engine-drm_xe_engine_class_compute.html
* igt@xe_evict@evict-mixed-many-threads-small:
- shard-adlp: [SKIP][304] ([Intel XE#1201] / [Intel XE#261]) -> [SKIP][305] ([Intel XE#1201] / [Intel XE#261] / [Intel XE#688]) +29 other tests skip
[304]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-adlp-8/igt@xe_evict@evict-mixed-many-threads-small.html
[305]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-1/igt@xe_evict@evict-mixed-many-threads-small.html
* igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate:
- shard-adlp: [SKIP][306] ([Intel XE#1201]) -> [SKIP][307] ([Intel XE#1201] / [Intel XE#1392]) +47 other tests skip
[306]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-adlp-4/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate.html
[307]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-8/igt@xe_exec_basic@multigpu-once-bindexecqueue-userptr-invalidate.html
* igt@xe_exec_fault_mode@once-invalid-userptr-fault:
- shard-dg2-set2: [SKIP][308] -> [SKIP][309] ([Intel XE#1201]) +22 other tests skip
[308]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@xe_exec_fault_mode@once-invalid-userptr-fault.html
[309]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@xe_exec_fault_mode@once-invalid-userptr-fault.html
* igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-prefetch:
- shard-dg2-set2: [SKIP][310] ([Intel XE#1201] / [Intel XE#288]) -> [SKIP][311] ([Intel XE#288]) +5 other tests skip
[310]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-433/igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-prefetch.html
[311]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@xe_exec_fault_mode@twice-bindexecqueue-userptr-prefetch.html
* igt@xe_exec_fault_mode@twice-userptr-prefetch:
- shard-dg2-set2: [SKIP][312] ([Intel XE#288]) -> [SKIP][313] ([Intel XE#1201] / [Intel XE#288]) +4 other tests skip
[312]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-432/igt@xe_exec_fault_mode@twice-userptr-prefetch.html
[313]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-434/igt@xe_exec_fault_mode@twice-userptr-prefetch.html
* igt@xe_mmap@small-bar:
- shard-dg2-set2: [SKIP][314] ([Intel XE#1201] / [Intel XE#512]) -> [SKIP][315] ([Intel XE#512])
[314]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-463/igt@xe_mmap@small-bar.html
[315]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@xe_mmap@small-bar.html
* igt@xe_pat@pat-index-xe2:
- shard-adlp: [SKIP][316] ([Intel XE#1201]) -> [SKIP][317] ([Intel XE#1201] / [Intel XE#977])
[316]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-adlp-6/igt@xe_pat@pat-index-xe2.html
[317]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-adlp-1/igt@xe_pat@pat-index-xe2.html
- shard-dg2-set2: [SKIP][318] ([Intel XE#1201]) -> [SKIP][319] ([Intel XE#1201] / [Intel XE#977])
[318]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-466/igt@xe_pat@pat-index-xe2.html
[319]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-466/igt@xe_pat@pat-index-xe2.html
* igt@xe_pm@s2idle-d3cold-basic-exec:
- shard-dg2-set2: [SKIP][320] ([Intel XE#1201] / [Intel XE#366]) -> [SKIP][321] ([Intel XE#366]) +1 other test skip
[320]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b/shard-dg2-436/igt@xe_pm@s2idle-d3cold-basic-exec.html
[321]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/shard-dg2-432/igt@xe_pm@s2idle-d3cold-basic-exec.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1033]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1033
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1130]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1130
[Intel XE#1158]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1158
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1195]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1195
[Intel XE#1201]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1201
[Intel XE#1231]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1231
[Intel XE#1252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1252
[Intel XE#1280]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1280
[Intel XE#1288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1288
[Intel XE#1358]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1358
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1426
[Intel XE#1473]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1473
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
[Intel XE#1500]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1500
[Intel XE#1600]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1600
[Intel XE#1607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1607
[Intel XE#1659]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1659
[Intel XE#1695]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1695
[Intel XE#1729]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1729
[Intel XE#1760]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1760
[Intel XE#1794]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1794
[Intel XE#1861]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1861
[Intel XE#1874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1874
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2105]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2105
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2229]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2229
[Intel XE#2236]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2236
[Intel XE#2251]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2251
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2320]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2320
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
[Intel XE#2329]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2329
[Intel XE#2333]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2333
[Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
[Intel XE#2413]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2413
[Intel XE#2426]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2426
[Intel XE#2459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2459
[Intel XE#2493]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2493
[Intel XE#2502]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2502
[Intel XE#2566]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2566
[Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
[Intel XE#261]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/261
[Intel XE#2631]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2631
[Intel XE#2635]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2635
[Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
[Intel XE#2667]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2667
[Intel XE#2723]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2723
[Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
[Intel XE#2791]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2791
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#2870]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2870
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
[Intel XE#307]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/307
[Intel XE#308]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/308
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#310]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/310
[Intel XE#314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/314
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
[Intel XE#324]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/324
[Intel XE#327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/327
[Intel XE#330]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/330
[Intel XE#362]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/362
[Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#488]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/488
[Intel XE#512]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/512
[Intel XE#569]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/569
[Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
[Intel XE#619]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/619
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#658]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/658
[Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688
[Intel XE#701]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/701
[Intel XE#756]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/756
[Intel XE#776]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/776
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#836]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/836
[Intel XE#877]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/877
[Intel XE#886]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/886
[Intel XE#899]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/899
[Intel XE#977]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/977
Build changes
-------------
* Linux: xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b -> xe-pw-137982v5
IGT_8032: 8032
xe-1976-88d592f72f7bc508d6a027b1f96aa2e53f803e1b: 88d592f72f7bc508d6a027b1f96aa2e53f803e1b
xe-pw-137982v5: 137982v5
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-137982v5/index.html
[-- Attachment #2: Type: text/html, Size: 106511 bytes --]
^ permalink raw reply [flat|nested] 46+ messages in thread