diff options
Diffstat (limited to 'drivers/gpu/drm/xe/xe_i2c.c')
| -rw-r--r-- | drivers/gpu/drm/xe/xe_i2c.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/gpu/drm/xe/xe_i2c.c b/drivers/gpu/drm/xe/xe_i2c.c index 8eccbae05705..1e1fb72e49bf 100644 --- a/drivers/gpu/drm/xe/xe_i2c.c +++ b/drivers/gpu/drm/xe/xe_i2c.c @@ -5,6 +5,7 @@ * Copyright (C) 2025 Intel Corporation. */ +#include <drm/drm_print.h> #include <linux/array_size.h> #include <linux/container_of.h> #include <linux/device.h> @@ -26,11 +27,11 @@ #include "regs/xe_i2c_regs.h" #include "regs/xe_irq_regs.h" -#include "xe_device.h" #include "xe_device_types.h" #include "xe_i2c.h" #include "xe_mmio.h" -#include "xe_platform_types.h" +#include "xe_sriov.h" +#include "xe_survivability_mode.h" /** * DOC: Xe I2C devices @@ -213,11 +214,13 @@ static const struct irq_domain_ops xe_i2c_irq_ops = { .map = xe_i2c_irq_map, }; -static int xe_i2c_create_irq(struct xe_i2c *i2c) +static int xe_i2c_create_irq(struct xe_device *xe) { + struct xe_i2c *i2c = xe->i2c; struct irq_domain *domain; - if (!(i2c->ep.capabilities & XE_I2C_EP_CAP_IRQ)) + if (!(i2c->ep.capabilities & XE_I2C_EP_CAP_IRQ) || + xe_survivability_mode_is_boot_enabled(xe)) return 0; domain = irq_domain_create_linear(dev_fwnode(i2c->drm_dev), 1, &xe_i2c_irq_ops, NULL); @@ -351,7 +354,7 @@ int xe_i2c_probe(struct xe_device *xe) if (ret) return ret; - ret = xe_i2c_create_irq(i2c); + ret = xe_i2c_create_irq(xe); if (ret) goto err_unregister_notifier; |
