Commit 7249dfcb authored by Jani Nikula's avatar Jani Nikula
Browse files

drm/i915: move opregion to display.opregion

parent f0acaf9d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -3080,7 +3080,7 @@ static struct vbt_header *oprom_get_vbt(struct drm_i915_private *i915)
 */
void intel_bios_init(struct drm_i915_private *i915)
{
	const struct vbt_header *vbt = i915->opregion.vbt;
	const struct vbt_header *vbt = i915->display.opregion.vbt;
	struct vbt_header *oprom_vbt = NULL;
	const struct bdb_header *bdb;

@@ -3287,7 +3287,7 @@ bool intel_bios_is_lvds_present(struct drm_i915_private *i915, u8 *i2c_pin)
		 * additional data.  Trust that if the VBT was written into
		 * the OpRegion then they have validated the LVDS's existence.
		 */
		if (i915->opregion.vbt)
		if (i915->display.opregion.vbt)
			return true;
	}

+2 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
#include "intel_dpll_mgr.h"
#include "intel_global_state.h"
#include "intel_gmbus.h"
#include "intel_opregion.h"
#include "intel_pm_types.h"

struct drm_i915_private;
@@ -284,6 +285,7 @@ struct intel_display {
	struct intel_dmc dmc;
	struct intel_dpll dpll;
	struct intel_hotplug hotplug;
	struct intel_opregion opregion;
	struct intel_overlay *overlay;
	struct intel_wm wm;
};
+4 −2
Original line number Diff line number Diff line
@@ -103,7 +103,8 @@ static int i915_sr_status(struct seq_file *m, void *unused)

static int i915_opregion(struct seq_file *m, void *unused)
{
	struct intel_opregion *opregion = &node_to_i915(m->private)->opregion;
	struct drm_i915_private *i915 = node_to_i915(m->private);
	struct intel_opregion *opregion = &i915->display.opregion;

	if (opregion->header)
		seq_write(m, opregion->header, OPREGION_SIZE);
@@ -113,7 +114,8 @@ static int i915_opregion(struct seq_file *m, void *unused)

static int i915_vbt(struct seq_file *m, void *unused)
{
	struct intel_opregion *opregion = &node_to_i915(m->private)->opregion;
	struct drm_i915_private *i915 = node_to_i915(m->private);
	struct intel_opregion *opregion = &i915->display.opregion;

	if (opregion->vbt)
		seq_write(m, opregion->vbt, opregion->vbt_size);
+21 −21
Original line number Diff line number Diff line
@@ -252,7 +252,7 @@ struct opregion_asle_ext {

static int check_swsci_function(struct drm_i915_private *i915, u32 function)
{
	struct opregion_swsci *swsci = i915->opregion.swsci;
	struct opregion_swsci *swsci = i915->display.opregion.swsci;
	u32 main_function, sub_function;

	if (!swsci)
@@ -265,11 +265,11 @@ static int check_swsci_function(struct drm_i915_private *i915, u32 function)

	/* Check if we can call the function. See swsci_setup for details. */
	if (main_function == SWSCI_SBCB) {
		if ((i915->opregion.swsci_sbcb_sub_functions &
		if ((i915->display.opregion.swsci_sbcb_sub_functions &
		     (1 << sub_function)) == 0)
			return -EINVAL;
	} else if (main_function == SWSCI_GBDA) {
		if ((i915->opregion.swsci_gbda_sub_functions &
		if ((i915->display.opregion.swsci_gbda_sub_functions &
		     (1 << sub_function)) == 0)
			return -EINVAL;
	}
@@ -280,7 +280,7 @@ static int check_swsci_function(struct drm_i915_private *i915, u32 function)
static int swsci(struct drm_i915_private *dev_priv,
		 u32 function, u32 parm, u32 *parm_out)
{
	struct opregion_swsci *swsci = dev_priv->opregion.swsci;
	struct opregion_swsci *swsci = dev_priv->display.opregion.swsci;
	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
	u32 scic, dslp;
	u16 swsci_val;
@@ -462,7 +462,7 @@ static u32 asle_set_backlight(struct drm_i915_private *dev_priv, u32 bclp)
{
	struct intel_connector *connector;
	struct drm_connector_list_iter conn_iter;
	struct opregion_asle *asle = dev_priv->opregion.asle;
	struct opregion_asle *asle = dev_priv->display.opregion.asle;
	struct drm_device *dev = &dev_priv->drm;

	drm_dbg(&dev_priv->drm, "bclp = 0x%08x\n", bclp);
@@ -586,8 +586,8 @@ static void asle_work(struct work_struct *work)
	struct intel_opregion *opregion =
		container_of(work, struct intel_opregion, asle_work);
	struct drm_i915_private *dev_priv =
		container_of(opregion, struct drm_i915_private, opregion);
	struct opregion_asle *asle = dev_priv->opregion.asle;
		container_of(opregion, struct drm_i915_private, display.opregion);
	struct opregion_asle *asle = dev_priv->display.opregion.asle;
	u32 aslc_stat = 0;
	u32 aslc_req;

@@ -635,8 +635,8 @@ static void asle_work(struct work_struct *work)

void intel_opregion_asle_intr(struct drm_i915_private *dev_priv)
{
	if (dev_priv->opregion.asle)
		schedule_work(&dev_priv->opregion.asle_work);
	if (dev_priv->display.opregion.asle)
		schedule_work(&dev_priv->display.opregion.asle_work);
}

#define ACPI_EV_DISPLAY_SWITCH (1<<0)
@@ -692,7 +692,7 @@ 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->opregion;
	struct intel_opregion *opregion = &dev_priv->display.opregion;
	struct intel_connector *connector;
	struct drm_connector_list_iter conn_iter;
	int i = 0, max_outputs;
@@ -731,7 +731,7 @@ static void intel_didl_outputs(struct drm_i915_private *dev_priv)

static void intel_setup_cadls(struct drm_i915_private *dev_priv)
{
	struct intel_opregion *opregion = &dev_priv->opregion;
	struct intel_opregion *opregion = &dev_priv->display.opregion;
	struct intel_connector *connector;
	struct drm_connector_list_iter conn_iter;
	int i = 0;
@@ -761,7 +761,7 @@ static void intel_setup_cadls(struct drm_i915_private *dev_priv)

static void swsci_setup(struct drm_i915_private *dev_priv)
{
	struct intel_opregion *opregion = &dev_priv->opregion;
	struct intel_opregion *opregion = &dev_priv->display.opregion;
	bool requested_callbacks = false;
	u32 tmp;

@@ -839,7 +839,7 @@ static const struct dmi_system_id intel_no_opregion_vbt[] = {

static int intel_load_vbt_firmware(struct drm_i915_private *dev_priv)
{
	struct intel_opregion *opregion = &dev_priv->opregion;
	struct intel_opregion *opregion = &dev_priv->display.opregion;
	const struct firmware *fw = NULL;
	const char *name = dev_priv->params.vbt_firmware;
	int ret;
@@ -879,7 +879,7 @@ static int intel_load_vbt_firmware(struct drm_i915_private *dev_priv)

int intel_opregion_setup(struct drm_i915_private *dev_priv)
{
	struct intel_opregion *opregion = &dev_priv->opregion;
	struct intel_opregion *opregion = &dev_priv->display.opregion;
	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
	u32 asls, mboxes;
	char buf[sizeof(OPREGION_SIGNATURE)];
@@ -1106,7 +1106,7 @@ struct edid *intel_opregion_get_edid(struct intel_connector *intel_connector)
{
	struct drm_connector *connector = &intel_connector->base;
	struct drm_i915_private *i915 = to_i915(connector->dev);
	struct intel_opregion *opregion = &i915->opregion;
	struct intel_opregion *opregion = &i915->display.opregion;
	const void *in_edid;
	const struct edid *edid;
	struct edid *new_edid;
@@ -1141,7 +1141,7 @@ struct edid *intel_opregion_get_edid(struct intel_connector *intel_connector)

bool intel_opregion_headless_sku(struct drm_i915_private *i915)
{
	struct intel_opregion *opregion = &i915->opregion;
	struct intel_opregion *opregion = &i915->display.opregion;
	struct opregion_header *header = opregion->header;

	if (!header || header->over.major < 2 ||
@@ -1153,7 +1153,7 @@ bool intel_opregion_headless_sku(struct drm_i915_private *i915)

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

	if (!opregion->header)
		return;
@@ -1169,7 +1169,7 @@ void intel_opregion_register(struct drm_i915_private *i915)

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

	if (!opregion->header)
		return;
@@ -1200,7 +1200,7 @@ void intel_opregion_resume(struct drm_i915_private *i915)

void intel_opregion_suspend(struct drm_i915_private *i915, pci_power_t state)
{
	struct intel_opregion *opregion = &i915->opregion;
	struct intel_opregion *opregion = &i915->display.opregion;

	if (!opregion->header)
		return;
@@ -1210,7 +1210,7 @@ void intel_opregion_suspend(struct drm_i915_private *i915, pci_power_t state)
	if (opregion->asle)
		opregion->asle->ardy = ASLE_ARDY_NOT_READY;

	cancel_work_sync(&i915->opregion.asle_work);
	cancel_work_sync(&i915->display.opregion.asle_work);

	if (opregion->acpi)
		opregion->acpi->drdy = 0;
@@ -1218,7 +1218,7 @@ void intel_opregion_suspend(struct drm_i915_private *i915, pci_power_t state)

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

	intel_opregion_suspend(i915, PCI_D1);

+0 −2
Original line number Diff line number Diff line
@@ -44,7 +44,6 @@
#include "display/intel_dsb.h"
#include "display/intel_fbc.h"
#include "display/intel_frontbuffer.h"
#include "display/intel_opregion.h"

#include "gem/i915_gem_context_types.h"
#include "gem/i915_gem_lmem.h"
@@ -331,7 +330,6 @@ struct drm_i915_private {
	u32 pipestat_irq_mask[I915_MAX_PIPES];

	struct intel_fbc *fbc[I915_MAX_FBCS];
	struct intel_opregion opregion;
	struct intel_vbt_data vbt;

	bool preserve_bios_swizzle;
Loading