File tree Expand file tree Collapse file tree 2 files changed +12
-4
lines changed
drivers/gpu/drm/i915/gt/uc Expand file tree Collapse file tree 2 files changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -156,7 +156,8 @@ static void gen11_disable_guc_interrupts(struct intel_guc *guc)
156
156
157
157
void intel_guc_init_early (struct intel_guc * guc )
158
158
{
159
- struct drm_i915_private * i915 = guc_to_gt (guc )-> i915 ;
159
+ struct intel_gt * gt = guc_to_gt (guc );
160
+ struct drm_i915_private * i915 = gt -> i915 ;
160
161
161
162
intel_uc_fw_init_early (& guc -> fw , INTEL_UC_FW_TYPE_GUC );
162
163
intel_guc_ct_init_early (& guc -> ct );
@@ -168,12 +169,17 @@ void intel_guc_init_early(struct intel_guc *guc)
168
169
mutex_init (& guc -> send_mutex );
169
170
spin_lock_init (& guc -> irq_lock );
170
171
if (GRAPHICS_VER (i915 ) >= 11 ) {
171
- guc -> notify_reg = GEN11_GUC_HOST_INTERRUPT ;
172
172
guc -> interrupts .reset = gen11_reset_guc_interrupts ;
173
173
guc -> interrupts .enable = gen11_enable_guc_interrupts ;
174
174
guc -> interrupts .disable = gen11_disable_guc_interrupts ;
175
- guc -> send_regs .base =
176
- i915_mmio_reg_offset (GEN11_SOFT_SCRATCH (0 ));
175
+ if (gt -> type == GT_MEDIA ) {
176
+ guc -> notify_reg = MEDIA_GUC_HOST_INTERRUPT ;
177
+ guc -> send_regs .base = i915_mmio_reg_offset (MEDIA_SOFT_SCRATCH (0 ));
178
+ } else {
179
+ guc -> notify_reg = GEN11_GUC_HOST_INTERRUPT ;
180
+ guc -> send_regs .base = i915_mmio_reg_offset (GEN11_SOFT_SCRATCH (0 ));
181
+ }
182
+
177
183
guc -> send_regs .count = GEN11_SOFT_SCRATCH_COUNT ;
178
184
179
185
} else {
Original file line number Diff line number Diff line change 36
36
#define SOFT_SCRATCH_COUNT 16
37
37
38
38
#define GEN11_SOFT_SCRATCH (n ) _MMIO(0x190240 + (n) * 4)
39
+ #define MEDIA_SOFT_SCRATCH (n ) _MMIO(0x190310 + (n) * 4)
39
40
#define GEN11_SOFT_SCRATCH_COUNT 4
40
41
41
42
#define UOS_RSA_SCRATCH (i ) _MMIO(0xc200 + (i) * 4)
101
102
#define GUC_SEND_INTERRUPT _MMIO(0xc4c8)
102
103
#define GUC_SEND_TRIGGER (1<<0)
103
104
#define GEN11_GUC_HOST_INTERRUPT _MMIO(0x1901f0)
105
+ #define MEDIA_GUC_HOST_INTERRUPT _MMIO(0x190304)
104
106
105
107
#define GEN12_GUC_SEM_INTR_ENABLES _MMIO(0xc71c)
106
108
#define GUC_SEM_INTR_ROUTE_TO_GUC BIT(31)
You can’t perform that action at this time.
0 commit comments