mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-04-18 11:33:36 -04:00
As multi-GT VF post-migration recovery can run in parallel on different workqueues, but both GTs point to the same GGTT, only one GT needs to shift the GGTT. However, both GTs need to know when this step has completed. To coordinate this, perform the GGTT shift under the GGTT lock. With shift being done under the lock, storing the shift value becomes unnecessary. In addition to above, move the GGTT VF config from the GT to the tile. v3: - Update commmit message (Tomasz) v4: - Move GGTT values to tile state (Michal) - Use GGTT lock (Michal) v5: - Only take GGTT lock during recovery (CI) - Drop goto in vf_get_submission_cfg (Michal) - Add kernel doc around recovery in xe_gt_sriov_vf_query_config (Michal) v7: - Drop recovery variable (Michal) - Use _locked naming (Michal) - Use guard (Michal) v9: - Break LMEM changes into different patch (Michal) - Fix layering (Michal) Signed-off-by: Matthew Brost <matthew.brost@intel.com> Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com> Link: https://lore.kernel.org/r/20251008214532.3442967-15-matthew.brost@intel.com
24 lines
766 B
C
24 lines
766 B
C
/* SPDX-License-Identifier: MIT */
|
|
/*
|
|
* Copyright © 2025 Intel Corporation
|
|
*/
|
|
|
|
#ifndef _XE_TILE_SRIOV_VF_H_
|
|
#define _XE_TILE_SRIOV_VF_H_
|
|
|
|
#include <linux/types.h>
|
|
|
|
struct xe_tile;
|
|
|
|
int xe_tile_sriov_vf_prepare_ggtt(struct xe_tile *tile);
|
|
void xe_tile_sriov_vf_deballoon_ggtt_locked(struct xe_tile *tile);
|
|
void xe_tile_sriov_vf_fixup_ggtt_nodes_locked(struct xe_tile *tile, s64 shift);
|
|
u64 xe_tile_sriov_vf_ggtt(struct xe_tile *tile);
|
|
void xe_tile_sriov_vf_ggtt_store(struct xe_tile *tile, u64 ggtt_size);
|
|
u64 xe_tile_sriov_vf_ggtt_base(struct xe_tile *tile);
|
|
void xe_tile_sriov_vf_ggtt_base_store(struct xe_tile *tile, u64 ggtt_size);
|
|
u64 xe_tile_sriov_vf_lmem(struct xe_tile *tile);
|
|
void xe_tile_sriov_vf_lmem_store(struct xe_tile *tile, u64 lmem_size);
|
|
|
|
#endif
|