diff options
| -rw-r--r-- | drivers/gpu/drm/i915/gvt/cmd_parser.c | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/gvt/display.c | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/gvt/display_helpers.h | 45 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/gvt/fb_decoder.c | 1 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/gvt/handlers.c | 1 |
5 files changed, 49 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/gvt/cmd_parser.c b/drivers/gpu/drm/i915/gvt/cmd_parser.c index df04e4ead8ea..fbc8a5e28576 100644 --- a/drivers/gpu/drm/i915/gvt/cmd_parser.c +++ b/drivers/gpu/drm/i915/gvt/cmd_parser.c @@ -58,6 +58,7 @@ #include "gem/i915_gem_context.h" #include "gem/i915_gem_pm.h" #include "gt/intel_context.h" +#include "display_helpers.h" #define INVALID_OP (~0U) diff --git a/drivers/gpu/drm/i915/gvt/display.c b/drivers/gpu/drm/i915/gvt/display.c index 06517d1f07a2..9d6b22b2e4d0 100644 --- a/drivers/gpu/drm/i915/gvt/display.c +++ b/drivers/gpu/drm/i915/gvt/display.c @@ -46,6 +46,7 @@ #include "display/intel_cursor_regs.h" #include "display/intel_display.h" #include "display/intel_display_core.h" +#include "display_helpers.h" #include "display/intel_dpio_phy.h" #include "display/intel_sprite_regs.h" diff --git a/drivers/gpu/drm/i915/gvt/display_helpers.h b/drivers/gpu/drm/i915/gvt/display_helpers.h new file mode 100644 index 000000000000..cbe383f677d5 --- /dev/null +++ b/drivers/gpu/drm/i915/gvt/display_helpers.h @@ -0,0 +1,45 @@ +/* SPDX-License-Identifier: MIT + * + * Copyright © 2025 Intel Corporation + */ + +#ifndef __DISPLAY_HELPERS_H__ +#define __DISPLAY_HELPERS_H__ + +#include "display/intel_gvt_api.h" + +#ifdef DISPLAY_MMIO_BASE +#undef DISPLAY_MMIO_BASE +#endif +#define DISPLAY_MMIO_BASE(display) \ + intel_display_device_mmio_base((display)) + +#ifdef INTEL_DISPLAY_DEVICE_PIPE_OFFSET +#undef INTEL_DISPLAY_DEVICE_PIPE_OFFSET +#endif +/* + * #FIXME: + * TRANSCONF() uses pipe-based addressing via _MMIO_PIPE2(). + * Some GVT call sites pass enum transcoder instead of enum pipe. + * Cast the argument to enum pipe for now since TRANSCODER_A..D map + * 1:1 to PIPE_A..D. + * TRANSCODER_EDP is an exception, the cast preserves the existing + * behaviour but this needs to be handled later either by using the + * correct pipe or by switching TRANSCONF() to use _MMIO_TRANS2(). + */ +#define INTEL_DISPLAY_DEVICE_PIPE_OFFSET(display, idx) \ + intel_display_device_pipe_offset((display), (enum pipe)(idx)) + +#ifdef INTEL_DISPLAY_DEVICE_TRANS_OFFSET +#undef INTEL_DISPLAY_DEVICE_TRANS_OFFSET +#endif +#define INTEL_DISPLAY_DEVICE_TRANS_OFFSET(display, trans) \ + intel_display_device_trans_offset((display), (trans)) + +#ifdef INTEL_DISPLAY_DEVICE_CURSOR_OFFSET +#undef INTEL_DISPLAY_DEVICE_CURSOR_OFFSET +#endif +#define INTEL_DISPLAY_DEVICE_CURSOR_OFFSET(display, pipe) \ + intel_display_device_cursor_offset((display), (pipe)) + +#endif /* __DISPLAY_HELPERS_H__ */ diff --git a/drivers/gpu/drm/i915/gvt/fb_decoder.c b/drivers/gpu/drm/i915/gvt/fb_decoder.c index a8079cfa8e1d..c402f3b5a0ab 100644 --- a/drivers/gpu/drm/i915/gvt/fb_decoder.c +++ b/drivers/gpu/drm/i915/gvt/fb_decoder.c @@ -46,6 +46,7 @@ #include "display/intel_display_core.h" #include "display/intel_sprite_regs.h" #include "display/skl_universal_plane_regs.h" +#include "display_helpers.h" #define PRIMARY_FORMAT_NUM 16 struct pixel_format { diff --git a/drivers/gpu/drm/i915/gvt/handlers.c b/drivers/gpu/drm/i915/gvt/handlers.c index 36ea12ade849..9ada97d01b6c 100644 --- a/drivers/gpu/drm/i915/gvt/handlers.c +++ b/drivers/gpu/drm/i915/gvt/handlers.c @@ -66,6 +66,7 @@ #include "display/vlv_dsi_pll_regs.h" #include "gt/intel_gt_regs.h" #include <linux/vmalloc.h> +#include "display_helpers.h" /* XXX FIXME i915 has changed PP_XXX definition */ #define PCH_PP_STATUS _MMIO(0xc7200) |
