mirror of
https://github.com/torvalds/linux.git
synced 2026-05-04 06:22:40 -04:00
drm/xe/rtp: Split rtp process initialization
The selection between hwe and gt is exposed to the outside of rtp, by
the xe_rtp_process() function. However it doesn't make seense from the
caller point of view to pass a hwe and a gt as argument since the gt
should always be the one containing the hwe.
This clarifies the interface by separating the context creation into an
initializer. The initializer then passes the correct value and there
should never be a case with hwe and gt set: when hwe is passed, the gt
is the one containing it. Internally the functions continue receiving
the argument separately.
v2: Leave the device-only context to a separate patch if they are indeed
needed later
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Link: https://lore.kernel.org/r/20230526164358.86393-3-lucas.demarchi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
committed by
Rodrigo Vivi
parent
a9bd807eb1
commit
72906d340b
@@ -238,10 +238,11 @@ static void xe_rtp_process_tests(struct kunit *test)
|
||||
struct xe_device *xe = test->priv;
|
||||
struct xe_reg_sr *reg_sr = &xe->gt[0].reg_sr;
|
||||
const struct xe_reg_sr_entry *sre, *sr_entry = NULL;
|
||||
struct xe_rtp_process_ctx ctx = XE_RTP_PROCESS_CTX_INITIALIZER(&xe->gt[0]);
|
||||
unsigned long idx, count = 0;
|
||||
|
||||
xe_reg_sr_init(reg_sr, "xe_rtp_tests", xe);
|
||||
xe_rtp_process(param->entries, reg_sr, &xe->gt[0], NULL);
|
||||
xe_rtp_process(&ctx, param->entries, reg_sr);
|
||||
|
||||
xa_for_each(®_sr->xa, idx, sre) {
|
||||
if (idx == param->expected_reg.addr)
|
||||
|
||||
Reference in New Issue
Block a user