On Wed, May 18, 2016 at 01:24:12PM +0300, Mika Kuoppala wrote: > Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> writes: > > > [ text/plain ] > > Load specific firmware versions for the DMC instead of using symbolic > > links. The currently recommended versions are: SKL 1.26, KBL 1.01 and > > BXT 1.07. > > > > Certain DMC versions need workarounds in the driver which forces us to > > have a tight dependency between firmware and driver. In order to be able > > to provide a tested and known working configuration we must lock down on > > a specific DMC firmware version. > > > > Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> > > Cc: Imre Deak <imre.deak@xxxxxxxxx> > > Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > > Signed-off-by: Patrik Jakobsson <patrik.jakobsson@xxxxxxxxxxxxxxx> > > Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> > > We need ack from Rodrigo and/or whomever is handling > the fw releasing side. > > -Mika > As discussed on IRC, Rodrigo is currently away but since he requested this feature we indirectly have his ACK. -Patrik > > --- > > drivers/gpu/drm/i915/intel_csr.c | 29 ++++++++++++++--------------- > > 1 file changed, 14 insertions(+), 15 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_csr.c b/drivers/gpu/drm/i915/intel_csr.c > > index 2b3b428..ea047cd 100644 > > --- a/drivers/gpu/drm/i915/intel_csr.c > > +++ b/drivers/gpu/drm/i915/intel_csr.c > > @@ -41,15 +41,15 @@ > > * be moved to FW_FAILED. > > */ > > > > -#define I915_CSR_KBL "i915/kbl_dmc_ver1.bin" > > +#define I915_CSR_KBL "i915/kbl_dmc_ver1_01.bin" > > MODULE_FIRMWARE(I915_CSR_KBL); > > #define KBL_CSR_VERSION_REQUIRED CSR_VERSION(1, 1) > > > > -#define I915_CSR_SKL "i915/skl_dmc_ver1.bin" > > +#define I915_CSR_SKL "i915/skl_dmc_ver1_26.bin" > > MODULE_FIRMWARE(I915_CSR_SKL); > > -#define SKL_CSR_VERSION_REQUIRED CSR_VERSION(1, 23) > > +#define SKL_CSR_VERSION_REQUIRED CSR_VERSION(1, 26) > > > > -#define I915_CSR_BXT "i915/bxt_dmc_ver1.bin" > > +#define I915_CSR_BXT "i915/bxt_dmc_ver1_07.bin" > > MODULE_FIRMWARE(I915_CSR_BXT); > > #define BXT_CSR_VERSION_REQUIRED CSR_VERSION(1, 7) > > > > @@ -286,7 +286,7 @@ static uint32_t *parse_csr_fw(struct drm_i915_private *dev_priv, > > uint32_t dmc_offset = CSR_DEFAULT_FW_OFFSET, readcount = 0, nbytes; > > uint32_t i; > > uint32_t *dmc_payload; > > - uint32_t required_min_version; > > + uint32_t required_version; > > > > if (!fw) > > return NULL; > > @@ -303,24 +303,23 @@ static uint32_t *parse_csr_fw(struct drm_i915_private *dev_priv, > > csr->version = css_header->version; > > > > if (IS_KABYLAKE(dev_priv)) { > > - required_min_version = KBL_CSR_VERSION_REQUIRED; > > + required_version = KBL_CSR_VERSION_REQUIRED; > > } else if (IS_SKYLAKE(dev_priv)) { > > - required_min_version = SKL_CSR_VERSION_REQUIRED; > > + required_version = SKL_CSR_VERSION_REQUIRED; > > } else if (IS_BROXTON(dev_priv)) { > > - required_min_version = BXT_CSR_VERSION_REQUIRED; > > + required_version = BXT_CSR_VERSION_REQUIRED; > > } else { > > MISSING_CASE(INTEL_REVID(dev_priv)); > > - required_min_version = 0; > > + required_version = 0; > > } > > > > - if (csr->version < required_min_version) { > > - DRM_INFO("Refusing to load old DMC firmware v%u.%u," > > - " please upgrade to v%u.%u or later" > > - " [" FIRMWARE_URL "].\n", > > + if (csr->version != required_version) { > > + DRM_INFO("Refusing to load DMC firmware v%u.%u," > > + " please use v%u.%u [" FIRMWARE_URL "].\n", > > CSR_VERSION_MAJOR(csr->version), > > CSR_VERSION_MINOR(csr->version), > > - CSR_VERSION_MAJOR(required_min_version), > > - CSR_VERSION_MINOR(required_min_version)); > > + CSR_VERSION_MAJOR(required_version), > > + CSR_VERSION_MINOR(required_version)); > > return NULL; > > } > > > > -- > > 2.5.0 -- Intel Sweden AB Registered Office: Knarrarnasgatan 15, 164 40 Kista, Stockholm, Sweden Registration Number: 556189-6027 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx