mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-02 10:59:18 -04:00
drm/i915: move more of the display probe to display code
Initializing i915->display.info.__device_info and DISPLAY_RUNTIME_INFO() really belongs in display code. Move them there. Cc: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230912120537.2158209-1-jani.nikula@intel.com
This commit is contained in:
@@ -850,9 +850,9 @@ probe_gmdid_display(struct drm_i915_private *i915, u16 *ver, u16 *rel, u16 *step
|
||||
return &no_display;
|
||||
}
|
||||
|
||||
const struct intel_display_device_info *
|
||||
intel_display_device_probe(struct drm_i915_private *i915, bool has_gmdid,
|
||||
u16 *gmdid_ver, u16 *gmdid_rel, u16 *gmdid_step)
|
||||
static const struct intel_display_device_info *
|
||||
probe_display(struct drm_i915_private *i915, bool has_gmdid,
|
||||
u16 *gmdid_ver, u16 *gmdid_rel, u16 *gmdid_step)
|
||||
{
|
||||
struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
|
||||
int i;
|
||||
@@ -876,6 +876,24 @@ intel_display_device_probe(struct drm_i915_private *i915, bool has_gmdid,
|
||||
return &no_display;
|
||||
}
|
||||
|
||||
void intel_display_device_probe(struct drm_i915_private *i915)
|
||||
{
|
||||
u16 ver, rel, step;
|
||||
|
||||
/* Probe display support */
|
||||
i915->display.info.__device_info = probe_display(i915, HAS_GMD_ID(i915),
|
||||
&ver, &rel, &step);
|
||||
memcpy(DISPLAY_RUNTIME_INFO(i915),
|
||||
&DISPLAY_INFO(i915)->__runtime_defaults,
|
||||
sizeof(*DISPLAY_RUNTIME_INFO(i915)));
|
||||
|
||||
if (HAS_GMD_ID(i915)) {
|
||||
DISPLAY_RUNTIME_INFO(i915)->ip.ver = ver;
|
||||
DISPLAY_RUNTIME_INFO(i915)->ip.rel = rel;
|
||||
DISPLAY_RUNTIME_INFO(i915)->ip.step = step;
|
||||
}
|
||||
}
|
||||
|
||||
void intel_display_device_info_runtime_init(struct drm_i915_private *i915)
|
||||
{
|
||||
struct intel_display_runtime_info *display_runtime = DISPLAY_RUNTIME_INFO(i915);
|
||||
|
||||
@@ -149,9 +149,7 @@ struct intel_display_device_info {
|
||||
} color;
|
||||
};
|
||||
|
||||
const struct intel_display_device_info *
|
||||
intel_display_device_probe(struct drm_i915_private *i915, bool has_gmdid,
|
||||
u16 *ver, u16 *rel, u16 *step);
|
||||
void intel_display_device_probe(struct drm_i915_private *i915);
|
||||
void intel_display_device_info_runtime_init(struct drm_i915_private *i915);
|
||||
|
||||
void intel_display_device_info_print(const struct intel_display_device_info *info,
|
||||
|
||||
@@ -424,7 +424,6 @@ void intel_device_info_driver_create(struct drm_i915_private *i915,
|
||||
const struct intel_device_info *match_info)
|
||||
{
|
||||
struct intel_runtime_info *runtime;
|
||||
u16 ver, rel, step;
|
||||
|
||||
/* Setup INTEL_INFO() */
|
||||
i915->__info = match_info;
|
||||
@@ -433,18 +432,7 @@ void intel_device_info_driver_create(struct drm_i915_private *i915,
|
||||
runtime = RUNTIME_INFO(i915);
|
||||
memcpy(runtime, &INTEL_INFO(i915)->__runtime, sizeof(*runtime));
|
||||
|
||||
/* Probe display support */
|
||||
i915->display.info.__device_info = intel_display_device_probe(i915, HAS_GMD_ID(i915),
|
||||
&ver, &rel, &step);
|
||||
memcpy(DISPLAY_RUNTIME_INFO(i915),
|
||||
&DISPLAY_INFO(i915)->__runtime_defaults,
|
||||
sizeof(*DISPLAY_RUNTIME_INFO(i915)));
|
||||
|
||||
if (HAS_GMD_ID(i915)) {
|
||||
DISPLAY_RUNTIME_INFO(i915)->ip.ver = ver;
|
||||
DISPLAY_RUNTIME_INFO(i915)->ip.rel = rel;
|
||||
DISPLAY_RUNTIME_INFO(i915)->ip.step = step;
|
||||
}
|
||||
intel_display_device_probe(i915);
|
||||
|
||||
runtime->device_id = device_id;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user