drm/xe: clear the serviced bits on INTR_IDENTITY_REG
authorJonathan Cavitt <jonathan.cavitt@intel.com>
Fri, 3 Nov 2023 21:03:24 +0000 (14:03 -0700)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:43:34 +0000 (11:43 -0500)
The spec for this register, like many other interrupt related ones,
asks software to write back '1' to clear the serviced bits. Let's
respect the spec.

v2:
- Update commit message
- Add missing CC

Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
CC: Daniele Spurio Ceraolo <daniele.ceraolospurio@intel.com>
CC: Lucas De Marchi <lucas.demarchi@intel.com>
CC: Rodrigo Vivi <rodrigo.vivi@intel.com>
CC: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_irq.c

index 5631e5e1ea206b5220e0715b40c9fd949ddebff7..ef26120e7aa42a8c8126fe928a7d752fd7da6e15 100644 (file)
@@ -231,7 +231,7 @@ gt_engine_identity(struct xe_device *xe,
                return 0;
        }
 
-       xe_mmio_write32(mmio, INTR_IDENTITY_REG(bank), INTR_DATA_VALID);
+       xe_mmio_write32(mmio, INTR_IDENTITY_REG(bank), ident);
 
        return ident;
 }