[PATCH v3 5/5] drm/xe/vf: Ignore force-wake requests if VF
Nirmoy Das
nirmoy.das at linux.intel.com
Wed Jun 12 10:15:15 UTC 2024
On 6/11/2024 6:35 PM, Michal Wajdeczko wrote:
> The control and ack force-wake registers are not accessible for
> the VF drivers. To avoid changing existing code logic that tracks
> woken domains, simply ignore all attempts to access control or ack
> registers if we are running as a VF driver.
>
> Signed-off-by: Michal Wajdeczko <michal.wajdeczko at intel.com>
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das at intel.com>
> ---
> drivers/gpu/drm/xe/xe_force_wake.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_force_wake.c b/drivers/gpu/drm/xe/xe_force_wake.c
> index 468aabd72d6b..5db6926120c3 100644
> --- a/drivers/gpu/drm/xe/xe_force_wake.c
> +++ b/drivers/gpu/drm/xe/xe_force_wake.c
> @@ -12,6 +12,7 @@
> #include "xe_gt.h"
> #include "xe_gt_printk.h"
> #include "xe_mmio.h"
> +#include "xe_sriov.h"
>
> #define XE_FORCE_WAKE_ACK_TIMEOUT_MS 50
>
> @@ -96,6 +97,9 @@ void xe_force_wake_init_engines(struct xe_gt *gt, struct xe_force_wake *fw)
>
> static void __domain_ctl(struct xe_gt *gt, struct xe_force_wake_domain *domain, bool wake)
> {
> + if (IS_SRIOV(gt_to_xe(gt)))
> + return;
> +
> xe_mmio_write32(gt, domain->reg_ctl, domain->mask | (wake ? domain->val : 0));
> }
>
> @@ -104,6 +108,9 @@ static int __domain_wait(struct xe_gt *gt, struct xe_force_wake_domain *domain,
> u32 value;
> int ret;
>
> + if (IS_SRIOV(gt_to_xe(gt)))
> + return 0;
> +
> ret = xe_mmio_wait32(gt, domain->reg_ack, domain->val, wake ? domain->val : 0,
> XE_FORCE_WAKE_ACK_TIMEOUT_MS * USEC_PER_MSEC,
> &value, true);
More information about the Intel-xe
mailing list