All of lore.kernel.org
 help / color / mirror / Atom feed
From: Animesh Manna <animesh.manna@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: Daniel Vetter <daniel.vetter@intel.com>
Subject: [PATCH 12/18] drm/i915/gen9: Use dev_priv in csr functions
Date: Sun, 26 Jul 2015 00:30:33 +0530	[thread overview]
Message-ID: <1437850839-16782-13-git-send-email-animesh.manna@intel.com> (raw)
In-Reply-To: <1437850839-16782-1-git-send-email-animesh.manna@intel.com>

From: Daniel Vetter <daniel.vetter@intel.com>

As all csr firmware related opertion are not using any
any data structures of drm framework level, so better to
use dev_priv instead of dev. it's a new style! :)

Cc: Damien Lespiau <damien.lespiau@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Sunil Kamath <sunil.kamath@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Signed-off-by: Animesh Manna <animesh.manna@intel.com>
---
 drivers/gpu/drm/i915/i915_dma.c  |  6 +++---
 drivers/gpu/drm/i915/i915_drv.c  |  4 +---
 drivers/gpu/drm/i915/intel_csr.c | 31 +++++++++++++------------------
 drivers/gpu/drm/i915/intel_drv.h |  6 +++---
 4 files changed, 20 insertions(+), 27 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index e8a503b..15b0642 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1022,7 +1022,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
 	intel_runtime_pm_enable(dev_priv);
 
 	/* Load CSR Firmware for SKL */
-	intel_csr_ucode_init(dev);
+	intel_csr_ucode_init(dev_priv);
 
 	i915_audio_component_init(dev_priv);
 
@@ -1052,7 +1052,7 @@ out_mtrrfree:
 out_gtt:
 	i915_global_gtt_cleanup(dev);
 out_freecsr:
-	intel_csr_ucode_fini(dev);
+	intel_csr_ucode_fini(dev_priv);
 	intel_uncore_fini(dev);
 	pci_iounmap(dev->pdev, dev_priv->regs);
 put_bridge:
@@ -1133,7 +1133,7 @@ int i915_driver_unload(struct drm_device *dev)
 	intel_fbc_cleanup_cfb(dev_priv);
 	i915_gem_cleanup_stolen(dev);
 
-	intel_csr_ucode_fini(dev);
+	intel_csr_ucode_fini(dev_priv);
 
 	intel_teardown_gmbus(dev);
 	intel_teardown_mchbar(dev);
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 44dd28f..98343eb 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1043,10 +1043,8 @@ static int bxt_resume_prepare(struct drm_i915_private *dev_priv)
 
 static int skl_resume_prepare(struct drm_i915_private *dev_priv)
 {
-	struct drm_device *dev = dev_priv->dev;
-
 	skl_init_cdclk(dev_priv);
-	intel_csr_load_program(dev);
+	intel_csr_load_program(dev_priv);
 
 	return 0;
 }
diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c
index 56381cf..f42449b 100644
--- a/drivers/gpu/drm/i915/intel_csr.c
+++ b/drivers/gpu/drm/i915/intel_csr.c
@@ -198,19 +198,18 @@ static char intel_get_substepping(struct drm_device *dev)
 
 /**
  * intel_csr_load_program() - write the firmware from memory to register.
- * @dev: drm device.
+ * @dev_priv: i915 drm device.
  *
  * CSR firmware is read from a .bin file and kept in internal memory one time.
  * Everytime display comes back from low power state this function is called to
  * copy the firmware from internal memory to registers.
  */
-void intel_csr_load_program(struct drm_device *dev)
+void intel_csr_load_program(struct drm_i915_private *dev_priv)
 {
-	struct drm_i915_private *dev_priv = dev->dev_private;
 	uint32_t *payload = dev_priv->csr.dmc_payload;
 	uint32_t i, fw_size;
 
-	if (!IS_GEN9(dev)) {
+	if (!IS_GEN9(dev_priv)) {
 		DRM_ERROR("No CSR support available for this platform\n");
 		return;
 	}
@@ -345,7 +344,6 @@ static uint32_t *parse_csr_fw(struct drm_i915_private *dev_priv,
 static void finish_csr_load(const struct firmware *fw, void *context)
 {
 	struct drm_i915_private *dev_priv = context;
-	struct drm_device *dev = dev_priv->dev;
 
 	if (!fw)
 		goto out;
@@ -355,11 +353,11 @@ static void finish_csr_load(const struct firmware *fw, void *context)
 		goto out;
 
 	/* load csr program during system boot, as needed for DC states */
-	intel_csr_load_program(dev);
+	intel_csr_load_program(dev_priv);
 
 	DRM_DEBUG_KMS("Finished loading %s\n", dev_priv->csr.fw_path);
 out:
-	if (dev_priv->csr.dmc_payload || IS_BROXTON(dev))
+	if (dev_priv->csr.dmc_payload || IS_BROXTON(dev_priv))
 		intel_runtime_pm_put(dev_priv);
 	else
 		DRM_ERROR("Failed to load DMC firmware, disabling rpm\n");
@@ -374,23 +372,22 @@ out:
 
 /**
  * intel_csr_ucode_init() - initialize the firmware loading.
- * @dev: drm device.
+ * @dev_priv: i915 drm device.
  *
  * This function is called at the time of loading the display driver to read
  * firmware from a .bin file and copied into a internal memory.
  */
-void intel_csr_ucode_init(struct drm_device *dev)
+void intel_csr_ucode_init(struct drm_i915_private *dev_priv)
 {
-	struct drm_i915_private *dev_priv = dev->dev_private;
 	struct intel_csr *csr = &dev_priv->csr;
 	int ret;
 
-	if (!HAS_CSR(dev))
+	if (!HAS_CSR(dev_priv))
 		return;
 
-	if (IS_SKYLAKE(dev))
+	if (IS_SKYLAKE(dev_priv))
 		csr->fw_path = I915_CSR_SKL;
-	else if (IS_BROXTON(dev))
+	else if (IS_BROXTON(dev_priv))
 		csr->fw_path = I915_CSR_BXT;
 
 	DRM_DEBUG_KMS("Loading %s\n", csr->fw_path);
@@ -410,16 +407,14 @@ void intel_csr_ucode_init(struct drm_device *dev)
 
 /**
  * intel_csr_ucode_fini() - unload the CSR firmware.
- * @dev: drm device.
+ * @dev_priv: i915 drm device.
  *
  * Firmmware unloading includes freeing the internal momory and reset the
  * firmware loading status.
  */
-void intel_csr_ucode_fini(struct drm_device *dev)
+void intel_csr_ucode_fini(struct drm_i915_private *dev_priv)
 {
-	struct drm_i915_private *dev_priv = dev->dev_private;
-
-	if (!HAS_CSR(dev))
+	if (!HAS_CSR(dev_priv))
 		return;
 
 	kfree(dev_priv->csr.dmc_payload);
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 46143f6..644286f 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1148,9 +1148,9 @@ u32 skl_plane_ctl_tiling(uint64_t fb_modifier);
 u32 skl_plane_ctl_rotation(unsigned int rotation);
 
 /* intel_csr.c */
-void intel_csr_ucode_init(struct drm_device *dev);
-void intel_csr_load_program(struct drm_device *dev);
-void intel_csr_ucode_fini(struct drm_device *dev);
+void intel_csr_ucode_init(struct drm_i915_private *);
+void intel_csr_load_program(struct drm_i915_private *);
+void intel_csr_ucode_fini(struct drm_i915_private *);
 
 /* intel_dp.c */
 void intel_dp_init(struct drm_device *dev, int output_reg, enum port port);
-- 
2.0.2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2015-07-25 19:01 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-25 19:00 [PATCH 00/18] Redesign of dmc firmware loading Animesh Manna
2015-07-25 19:00 ` [PATCH 01/18] drm/i915/bxt: Path added of dmc firmware ver1 for BXT Animesh Manna
2015-07-27  4:51   ` Sunil Kamath
2015-07-25 19:00 ` [PATCH 02/18] drm/i915/bxt: Modified HAS_CSR, added support " Animesh Manna
2015-07-27  4:53   ` Sunil Kamath
2015-07-25 19:00 ` [PATCH 03/18] drm/i915/bxt: Stepping info added for bxt Animesh Manna
2015-07-27  4:59   ` Sunil Kamath
2015-07-25 19:00 ` [PATCH 04/18] drm/i915/gen9: block disable call for pw1 if dmc firmware is present Animesh Manna
2015-07-27  8:48   ` Daniel Vetter
2015-07-28  7:57     ` Daniel Vetter
2015-07-28 10:28       ` Sunil Kamath
2015-07-25 19:00 ` [PATCH 05/18] drm/i915/gen9: csr_init after runtime pm enable Animesh Manna
2015-07-28  7:56   ` Daniel Vetter
2015-07-25 19:00 ` [PATCH 06/18] drm/i915/gen9: move assert_csr_loaded into intel_rpm.c Animesh Manna
2015-07-25 19:00 ` [PATCH 07/18] drm/i915/gen9: Remove csr.state, csr_lock and related code Animesh Manna
2015-07-25 19:00 ` [PATCH 08/18] drm/i915/gen9: Align line continuations in intel_csr.c Animesh Manna
2015-07-25 19:00 ` [PATCH 09/18] drm/i915/gen9: Simplify csr loading failure printing Animesh Manna
2015-07-25 19:00 ` [PATCH 10/18] drm/i915/gen9: extract parse_csr_fw Animesh Manna
2015-07-25 19:00 ` [PATCH 11/18] drm/i915/gen9: Don't try to load garbage dmc firmware on resume Animesh Manna
2015-07-25 19:00 ` Animesh Manna [this message]
2015-07-25 19:00 ` [PATCH 13/18] drm/i915: Use request_firmware and our own async work Animesh Manna
2015-07-25 19:00 ` [PATCH 14/18] drm/i915/gen9: Use flush_work to synchronize with dmc loader Animesh Manna
2015-07-28  8:09   ` Daniel Vetter
2015-07-25 19:00 ` [PATCH 15/18] drm/i915/skl: Making DC6 entry is the last call in suspend flow Animesh Manna
2015-07-30  7:06   ` Sunil Kamath
2015-07-30 15:28   ` Nagaraju, Vathsala
2015-07-25 19:00 ` [PATCH 16/18] drm/i915/skl: Do not disable cdclk PLL if csr firmware is present Animesh Manna
2015-07-30  7:04   ` Sunil Kamath
2015-07-25 19:00 ` [PATCH 17/18] drm/i915/skl: Removed csr firmware load in resume path Animesh Manna
2015-07-28 11:23   ` Sunil Kamath
2015-07-29 10:57     ` Sunil Kamath
2015-07-29 11:10     ` Sunil Kamath
2015-07-30  7:04       ` Sunil Kamath
2015-07-25 19:00 ` [PATCH 18/18] drm/i915/gen9: Removed byte swapping for csr firmware Animesh Manna
2015-07-26  1:56   ` shuang.he
2015-07-28  8:08   ` Nagaraju, Vathsala
2015-07-28 11:09     ` Sunil Kamath
2015-07-30  7:04       ` Sunil Kamath
2015-07-30 15:24   ` Nagaraju, Vathsala
2015-07-27  4:37 ` [PATCH 00/18] Redesign of dmc firmware loading Sunil Kamath

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1437850839-16782-13-git-send-email-animesh.manna@intel.com \
    --to=animesh.manna@intel.com \
    --cc=daniel.vetter@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.