Commit f7303ab2 authored by Jani Nikula's avatar Jani Nikula
Browse files

drm/i915/acpi: convert to struct intel_display



Going forward, struct intel_display shall replace struct
drm_i915_private as the main display device data pointer type. Convert
intel_acpi.[ch] to struct intel_display.

Reviewed-by: default avatarImre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/465436a3442807b49609fc55c9f652a29f96fd02.1723213547.git.jani.nikula@intel.com


Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
parent 7d113cce
Loading
Loading
Loading
Loading
+8 −9
Original line number Diff line number Diff line
@@ -183,9 +183,9 @@ void intel_unregister_dsm_handler(void)
{
}

void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915)
void intel_dsm_get_bios_data_funcs_supported(struct intel_display *display)
{
	struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
	struct pci_dev *pdev = to_pci_dev(display->drm->dev);
	acpi_handle dhandle;
	union acpi_object *obj;

@@ -263,15 +263,14 @@ static u32 acpi_display_type(struct intel_connector *connector)
	return display_type;
}

void intel_acpi_device_id_update(struct drm_i915_private *dev_priv)
void intel_acpi_device_id_update(struct intel_display *display)
{
	struct drm_device *drm_dev = &dev_priv->drm;
	struct intel_connector *connector;
	struct drm_connector_list_iter conn_iter;
	u8 display_index[16] = {};

	/* Populate the ACPI IDs for all connectors for a given drm_device */
	drm_connector_list_iter_begin(drm_dev, &conn_iter);
	drm_connector_list_iter_begin(display->drm, &conn_iter);
	for_each_intel_connector_iter(connector, &conn_iter) {
		u32 device_id, type;

@@ -288,10 +287,10 @@ void intel_acpi_device_id_update(struct drm_i915_private *dev_priv)
}

/* NOTE: The connector order must be final before this is called. */
void intel_acpi_assign_connector_fwnodes(struct drm_i915_private *i915)
void intel_acpi_assign_connector_fwnodes(struct intel_display *display)
{
	struct drm_device *drm_dev = display->drm;
	struct drm_connector_list_iter conn_iter;
	struct drm_device *drm_dev = &i915->drm;
	struct fwnode_handle *fwnode = NULL;
	struct drm_connector *connector;
	struct acpi_device *adev;
@@ -333,7 +332,7 @@ void intel_acpi_assign_connector_fwnodes(struct drm_i915_private *i915)
	fwnode_handle_put(fwnode);
}

void intel_acpi_video_register(struct drm_i915_private *i915)
void intel_acpi_video_register(struct intel_display *display)
{
	struct drm_connector_list_iter conn_iter;
	struct drm_connector *connector;
@@ -347,7 +346,7 @@ void intel_acpi_video_register(struct drm_i915_private *i915)
	 * a native backlight later and acpi_video_register_backlight() should
	 * only be called after any native backlights have been registered.
	 */
	drm_connector_list_iter_begin(&i915->drm, &conn_iter);
	drm_connector_list_iter_begin(display->drm, &conn_iter);
	drm_for_each_connector_iter(connector, &conn_iter) {
		struct intel_panel *panel = &to_intel_connector(connector)->panel;

+9 −9
Original line number Diff line number Diff line
@@ -6,26 +6,26 @@
#ifndef __INTEL_ACPI_H__
#define __INTEL_ACPI_H__

struct drm_i915_private;
struct intel_display;

#ifdef CONFIG_ACPI
void intel_register_dsm_handler(void);
void intel_unregister_dsm_handler(void);
void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915);
void intel_acpi_device_id_update(struct drm_i915_private *i915);
void intel_acpi_assign_connector_fwnodes(struct drm_i915_private *i915);
void intel_acpi_video_register(struct drm_i915_private *i915);
void intel_dsm_get_bios_data_funcs_supported(struct intel_display *display);
void intel_acpi_device_id_update(struct intel_display *display);
void intel_acpi_assign_connector_fwnodes(struct intel_display *display);
void intel_acpi_video_register(struct intel_display *display);
#else
static inline void intel_register_dsm_handler(void) { return; }
static inline void intel_unregister_dsm_handler(void) { return; }
static inline
void intel_dsm_get_bios_data_funcs_supported(struct drm_i915_private *i915) { return; }
void intel_dsm_get_bios_data_funcs_supported(struct intel_display *display) { return; }
static inline
void intel_acpi_device_id_update(struct drm_i915_private *i915) { return; }
void intel_acpi_device_id_update(struct intel_display *display) { return; }
static inline
void intel_acpi_assign_connector_fwnodes(struct drm_i915_private *i915) { return; }
void intel_acpi_assign_connector_fwnodes(struct intel_display *display) { return; }
static inline
void intel_acpi_video_register(struct drm_i915_private *i915) { return; }
void intel_acpi_video_register(struct intel_display *display) { return; }
#endif /* CONFIG_ACPI */

#endif /* __INTEL_ACPI_H__ */
+5 −3
Original line number Diff line number Diff line
@@ -416,7 +416,8 @@ bool intel_display_driver_check_access(struct drm_i915_private *i915)
/* part #2: call after irq install, but before gem init */
int intel_display_driver_probe_nogem(struct drm_i915_private *i915)
{
	struct drm_device *dev = &i915->drm;
	struct intel_display *display = &i915->display;
	struct drm_device *dev = display->drm;
	enum pipe pipe;
	int ret;

@@ -466,7 +467,7 @@ int intel_display_driver_probe_nogem(struct drm_i915_private *i915)

	drm_modeset_lock_all(dev);
	intel_modeset_setup_hw_state(i915, dev->mode_config.acquire_ctx);
	intel_acpi_assign_connector_fwnodes(i915);
	intel_acpi_assign_connector_fwnodes(display);
	drm_modeset_unlock_all(dev);

	intel_initial_plane_config(i915);
@@ -526,6 +527,7 @@ int intel_display_driver_probe(struct drm_i915_private *i915)

void intel_display_driver_register(struct drm_i915_private *i915)
{
	struct intel_display *display = &i915->display;
	struct drm_printer p = drm_dbg_printer(&i915->drm, DRM_UT_KMS,
					       "i915 display info:");

@@ -534,7 +536,7 @@ void intel_display_driver_register(struct drm_i915_private *i915)

	/* Must be done after probing outputs */
	intel_opregion_register(i915);
	intel_acpi_video_register(i915);
	intel_acpi_video_register(display);

	intel_audio_init(i915);

+6 −4
Original line number Diff line number Diff line
@@ -722,7 +722,8 @@ static void set_did(struct intel_opregion *opregion, int i, u32 val)

static void intel_didl_outputs(struct drm_i915_private *dev_priv)
{
	struct intel_opregion *opregion = dev_priv->display.opregion;
	struct intel_display *display = &dev_priv->display;
	struct intel_opregion *opregion = display->opregion;
	struct intel_connector *connector;
	struct drm_connector_list_iter conn_iter;
	int i = 0, max_outputs;
@@ -737,7 +738,7 @@ static void intel_didl_outputs(struct drm_i915_private *dev_priv)
	max_outputs = ARRAY_SIZE(opregion->acpi->didl) +
		ARRAY_SIZE(opregion->acpi->did2);

	intel_acpi_device_id_update(dev_priv);
	intel_acpi_device_id_update(display);

	drm_connector_list_iter_begin(&dev_priv->drm, &conn_iter);
	for_each_intel_connector_iter(connector, &conn_iter) {
@@ -1189,7 +1190,8 @@ void intel_opregion_register(struct drm_i915_private *i915)

static void intel_opregion_resume_display(struct drm_i915_private *i915)
{
	struct intel_opregion *opregion = i915->display.opregion;
	struct intel_display *display = &i915->display;
	struct intel_opregion *opregion = display->opregion;

	if (opregion->acpi) {
		intel_didl_outputs(i915);
@@ -1210,7 +1212,7 @@ static void intel_opregion_resume_display(struct drm_i915_private *i915)
	}

	/* Some platforms abuse the _DSM to enable MUX */
	intel_dsm_get_bios_data_funcs_supported(i915);
	intel_dsm_get_bios_data_funcs_supported(display);
}

void intel_opregion_resume(struct drm_i915_private *i915)