1d6a3a678SAnkit Nautiyal /* SPDX-License-Identifier: MIT 2d6a3a678SAnkit Nautiyal * 3d6a3a678SAnkit Nautiyal * Copyright © 2025 Intel Corporation 4d6a3a678SAnkit Nautiyal */ 5d6a3a678SAnkit Nautiyal 6d6a3a678SAnkit Nautiyal #ifndef __DISPLAY_HELPERS_H__ 7d6a3a678SAnkit Nautiyal #define __DISPLAY_HELPERS_H__ 8d6a3a678SAnkit Nautiyal 9d6a3a678SAnkit Nautiyal #include "display/intel_gvt_api.h" 10d6a3a678SAnkit Nautiyal 11d6a3a678SAnkit Nautiyal #define DISPLAY_MMIO_BASE(display) \ 12d6a3a678SAnkit Nautiyal intel_display_device_mmio_base((display)) 13d6a3a678SAnkit Nautiyal 14d6a3a678SAnkit Nautiyal /* 15d6a3a678SAnkit Nautiyal * #FIXME: 16d6a3a678SAnkit Nautiyal * TRANSCONF() uses pipe-based addressing via _MMIO_PIPE2(). 17d6a3a678SAnkit Nautiyal * Some GVT call sites pass enum transcoder instead of enum pipe. 18d6a3a678SAnkit Nautiyal * Cast the argument to enum pipe for now since TRANSCODER_A..D map 19d6a3a678SAnkit Nautiyal * 1:1 to PIPE_A..D. 20d6a3a678SAnkit Nautiyal * TRANSCODER_EDP is an exception, the cast preserves the existing 21d6a3a678SAnkit Nautiyal * behaviour but this needs to be handled later either by using the 22d6a3a678SAnkit Nautiyal * correct pipe or by switching TRANSCONF() to use _MMIO_TRANS2(). 23d6a3a678SAnkit Nautiyal */ 24d6a3a678SAnkit Nautiyal #define INTEL_DISPLAY_DEVICE_PIPE_OFFSET(display, idx) \ 25d6a3a678SAnkit Nautiyal intel_display_device_pipe_offset((display), (enum pipe)(idx)) 26d6a3a678SAnkit Nautiyal 27d6a3a678SAnkit Nautiyal #define INTEL_DISPLAY_DEVICE_TRANS_OFFSET(display, trans) \ 28d6a3a678SAnkit Nautiyal intel_display_device_trans_offset((display), (trans)) 29d6a3a678SAnkit Nautiyal 30d6a3a678SAnkit Nautiyal #define INTEL_DISPLAY_DEVICE_CURSOR_OFFSET(display, pipe) \ 31d6a3a678SAnkit Nautiyal intel_display_device_cursor_offset((display), (pipe)) 32d6a3a678SAnkit Nautiyal 33*d805e879SAnkit Nautiyal #define gvt_for_each_pipe(display, __p) \ 34*d805e879SAnkit Nautiyal for ((__p) = PIPE_A; (__p) < I915_MAX_PIPES; (__p)++) \ 35*d805e879SAnkit Nautiyal for_each_if(intel_display_device_pipe_valid((display), (__p))) 36*d805e879SAnkit Nautiyal 37d6a3a678SAnkit Nautiyal #endif /* __DISPLAY_HELPERS_H__ */ 38