|
@@ -220,19 +220,19 @@ static const struct stepping_info *intel_get_stepping_info(struct drm_device *de
|
|
* Everytime display comes back from low power state this function is called to
|
|
* Everytime display comes back from low power state this function is called to
|
|
* copy the firmware from internal memory to registers.
|
|
* copy the firmware from internal memory to registers.
|
|
*/
|
|
*/
|
|
-void intel_csr_load_program(struct drm_i915_private *dev_priv)
|
|
|
|
|
|
+bool intel_csr_load_program(struct drm_i915_private *dev_priv)
|
|
{
|
|
{
|
|
u32 *payload = dev_priv->csr.dmc_payload;
|
|
u32 *payload = dev_priv->csr.dmc_payload;
|
|
uint32_t i, fw_size;
|
|
uint32_t i, fw_size;
|
|
|
|
|
|
if (!IS_GEN9(dev_priv)) {
|
|
if (!IS_GEN9(dev_priv)) {
|
|
DRM_ERROR("No CSR support available for this platform\n");
|
|
DRM_ERROR("No CSR support available for this platform\n");
|
|
- return;
|
|
|
|
|
|
+ return false;
|
|
}
|
|
}
|
|
|
|
|
|
if (!dev_priv->csr.dmc_payload) {
|
|
if (!dev_priv->csr.dmc_payload) {
|
|
DRM_ERROR("Tried to program CSR with empty payload\n");
|
|
DRM_ERROR("Tried to program CSR with empty payload\n");
|
|
- return;
|
|
|
|
|
|
+ return false;
|
|
}
|
|
}
|
|
|
|
|
|
fw_size = dev_priv->csr.dmc_fw_size;
|
|
fw_size = dev_priv->csr.dmc_fw_size;
|
|
@@ -245,6 +245,8 @@ void intel_csr_load_program(struct drm_i915_private *dev_priv)
|
|
}
|
|
}
|
|
|
|
|
|
dev_priv->csr.dc_state = 0;
|
|
dev_priv->csr.dc_state = 0;
|
|
|
|
+
|
|
|
|
+ return true;
|
|
}
|
|
}
|
|
|
|
|
|
static uint32_t *parse_csr_fw(struct drm_i915_private *dev_priv,
|
|
static uint32_t *parse_csr_fw(struct drm_i915_private *dev_priv,
|