[Intel-gfx] [PATCH 3/4] drm/i915: move display device and runtime info to struct intel_display
Matt Roper
matthew.d.roper at intel.com
Thu Jun 8 22:04:53 UTC 2023
On Thu, Jun 08, 2023 at 06:09:04PM +0300, Jani Nikula wrote:
> Continue moving all things display further into display files and
> structures.
>
> Cc: Matt Roper <matthew.d.roper at intel.com>
> Cc: Lucas De Marchi <lucas.demarchi at intel.com>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display_core.h | 9 +++++++++
> drivers/gpu/drm/i915/i915_drv.h | 5 ++---
> drivers/gpu/drm/i915/intel_device_info.c | 7 +++----
> drivers/gpu/drm/i915/intel_device_info.h | 4 ----
> 4 files changed, 14 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
> index 8d2243c71dd8..a65ed8a52ce4 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_core.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
> @@ -19,6 +19,7 @@
> #include "intel_cdclk.h"
> #include "intel_display_limits.h"
> #include "intel_display_power.h"
> +#include "intel_display_device.h"
Minor nitpick: the includes aren't sorted here.
Otherwise,
Acked-by: Matt Roper <matthew.d.roper at intel.com>
> #include "intel_dpll_mgr.h"
> #include "intel_fbc.h"
> #include "intel_global_state.h"
> @@ -429,6 +430,14 @@ struct intel_display {
> u32 state;
> } hti;
>
> + struct {
> + /* Access with DISPLAY_INFO() */
> + const struct intel_display_device_info *__device_info;
> +
> + /* Access with DISPLAY_RUNTIME_INFO() */
> + struct intel_display_runtime_info __runtime_info;
> + } info;
> +
> struct {
> bool false_color;
> } ips;
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index b457a37e67c4..2d8331d435f1 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -205,7 +205,6 @@ struct drm_i915_private {
>
> const struct intel_device_info __info; /* Use INTEL_INFO() to access. */
> struct intel_runtime_info __runtime; /* Use RUNTIME_INFO() to access. */
> - struct intel_display_runtime_info __display_runtime; /* Access with DISPLAY_RUNTIME_INFO() */
> struct intel_driver_caps caps;
>
> struct i915_dsm dsm;
> @@ -407,9 +406,9 @@ static inline struct intel_gt *to_gt(struct drm_i915_private *i915)
> (engine__) = rb_to_uabi_engine(rb_next(&(engine__)->uabi_node)))
>
> #define INTEL_INFO(i915) (&(i915)->__info)
> -#define DISPLAY_INFO(i915) (INTEL_INFO(i915)->display)
> #define RUNTIME_INFO(i915) (&(i915)->__runtime)
> -#define DISPLAY_RUNTIME_INFO(i915) (&(i915)->__display_runtime)
> +#define DISPLAY_INFO(i915) ((i915)->display.info.__device_info)
> +#define DISPLAY_RUNTIME_INFO(i915) (&(i915)->display.info.__runtime_info)
> #define DRIVER_CAPS(i915) (&(i915)->caps)
>
> #define INTEL_DEVID(i915) (RUNTIME_INFO(i915)->device_id)
> diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c
> index 53d316804071..d51bbdbe53ab 100644
> --- a/drivers/gpu/drm/i915/intel_device_info.c
> +++ b/drivers/gpu/drm/i915/intel_device_info.c
> @@ -387,7 +387,6 @@ static const struct intel_display_device_info no_display = {};
> */
> void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
> {
> - struct intel_device_info *info = mkwrite_device_info(dev_priv);
> struct intel_runtime_info *runtime = RUNTIME_INFO(dev_priv);
>
> if (HAS_DISPLAY(dev_priv))
> @@ -397,7 +396,7 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)
> if (!HAS_DISPLAY(dev_priv)) {
> dev_priv->drm.driver_features &= ~(DRIVER_MODESET |
> DRIVER_ATOMIC);
> - info->display = &no_display;
> + dev_priv->display.info.__device_info = &no_display;
> }
>
> /* Disable nuclear pageflip by default on pre-g4x */
> @@ -440,8 +439,8 @@ void intel_device_info_driver_create(struct drm_i915_private *i915,
> memcpy(runtime, &INTEL_INFO(i915)->__runtime, sizeof(*runtime));
>
> /* Probe display support */
> - info->display = intel_display_device_probe(i915, info->has_gmd_id,
> - &ver, &rel, &step);
> + i915->display.info.__device_info = intel_display_device_probe(i915, info->has_gmd_id,
> + &ver, &rel, &step);
> memcpy(DISPLAY_RUNTIME_INFO(i915),
> &DISPLAY_INFO(i915)->__runtime_defaults,
> sizeof(*DISPLAY_RUNTIME_INFO(i915)));
> diff --git a/drivers/gpu/drm/i915/intel_device_info.h b/drivers/gpu/drm/i915/intel_device_info.h
> index 069291b3bd37..c8b4bee5e592 100644
> --- a/drivers/gpu/drm/i915/intel_device_info.h
> +++ b/drivers/gpu/drm/i915/intel_device_info.h
> @@ -29,8 +29,6 @@
>
> #include "intel_step.h"
>
> -#include "display/intel_display_device.h"
> -
> #include "gt/intel_engine_types.h"
> #include "gt/intel_context_types.h"
> #include "gt/intel_sseu.h"
> @@ -241,8 +239,6 @@ struct intel_device_info {
> DEV_INFO_FOR_EACH_FLAG(DEFINE_FLAG);
> #undef DEFINE_FLAG
>
> - const struct intel_display_device_info *display;
> -
> /*
> * Initial runtime info. Do not access outside of i915_driver_create().
> */
> --
> 2.39.2
>
--
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation
More information about the Intel-gfx
mailing list