Hi Jani: Thanks so much for the help. Can you generate a new tag on drm-intel-next? I noticed that there was one patch moving the DMC related registers into display/intel_dmc_regs.h, which is not included in the latest tag on drm-intel-next. Guess it would be better that I can change this patch according to it when checking in. This would prevent a conflict in future. Thanks, Zhi. On 4/7/22 3:03 PM, Jani Nikula wrote: > On Thu, 07 Apr 2022, Zhi Wang <zhi.wang.linux@xxxxxxxxx> wrote: >> diff --git a/drivers/gpu/drm/i915/intel_gvt.h b/drivers/gpu/drm/i915/intel_gvt.h >> index d7d3fb6186fd..7665d7cf0bdd 100644 >> --- a/drivers/gpu/drm/i915/intel_gvt.h >> +++ b/drivers/gpu/drm/i915/intel_gvt.h >> @@ -26,7 +26,17 @@ >> >> struct drm_i915_private; >> >> +#include <linux/kernel.h> > > You only need <linux/types.h>. Please add it before the forward > declaration above. > >> + >> #ifdef CONFIG_DRM_I915_GVT >> + >> +struct intel_gvt_mmio_table_iter { >> + struct drm_i915_private *i915; >> + void *data; >> + int (*handle_mmio_cb)(struct intel_gvt_mmio_table_iter *iter, >> + u32 offset, u32 size); >> +}; >> + >> int intel_gvt_init(struct drm_i915_private *dev_priv); >> void intel_gvt_driver_remove(struct drm_i915_private *dev_priv); >> int intel_gvt_init_device(struct drm_i915_private *dev_priv); >> @@ -34,6 +44,7 @@ void intel_gvt_clean_device(struct drm_i915_private *dev_priv); >> int intel_gvt_init_host(void); >> void intel_gvt_sanitize_options(struct drm_i915_private *dev_priv); >> void intel_gvt_resume(struct drm_i915_private *dev_priv); >> +int intel_gvt_iterate_mmio_table(struct intel_gvt_mmio_table_iter *iter); >> #else >> static inline int intel_gvt_init(struct drm_i915_private *dev_priv) >> { >> @@ -51,6 +62,16 @@ static inline void intel_gvt_sanitize_options(struct drm_i915_private *dev_priv) >> static inline void intel_gvt_resume(struct drm_i915_private *dev_priv) >> { >> } >> + >> +unsigned long intel_gvt_get_device_type(struct drm_i915_private *i915) >> +{ >> + return 0; >> +} > > The CONFIG_DRM_I915_GVT=y counterpart for this is in mmio.h. Should be > both in the same header. > >> + >> +int intel_gvt_iterate_mmio_table(struct intel_gvt_mmio_table_iter *iter) >> +{ >> + return 0; >> +} >> #endif >> >> #endif /* _INTEL_GVT_H_ */ >> diff --git a/drivers/gpu/drm/i915/intel_gvt_mmio_table.c b/drivers/gpu/drm/i915/intel_gvt_mmio_table.c >> new file mode 100644 >> index 000000000000..d29491a6d209 >> --- /dev/null >> +++ b/drivers/gpu/drm/i915/intel_gvt_mmio_table.c >> @@ -0,0 +1,1290 @@ >> +// SPDX-License-Identifier: MIT >> +/* >> + * Copyright © 2020 Intel Corporation >> + */ >> + >> +#include "i915_drv.h" >> +#include "i915_reg.h" >> +#include "display/vlv_dsi_pll_regs.h" >> +#include "gt/intel_gt_regs.h" >> +#include "intel_mchbar_regs.h" >> +#include "i915_pvinfo.h" >> +#include "intel_gvt.h" >> +#include "gvt/gvt.h" > > Generally we have the include lists sorted. > > Other than the nitpicks above, the series is > > Acked-by: Jani Nikula <jani.nikula@xxxxxxxxx> > > > BR, > Jani. > >