|
@@ -182,32 +182,32 @@ static void iwl_eeprom_release_semaphore(struct iwl_bus *bus)
|
|
|
|
|
|
}
|
|
|
|
|
|
-static int iwl_eeprom_verify_signature(struct iwl_priv *priv)
|
|
|
+static int iwl_eeprom_verify_signature(struct iwl_trans *trans)
|
|
|
{
|
|
|
- u32 gp = iwl_read32(bus(priv), CSR_EEPROM_GP) & CSR_EEPROM_GP_VALID_MSK;
|
|
|
+ u32 gp = iwl_read32(bus(trans), CSR_EEPROM_GP) & CSR_EEPROM_GP_VALID_MSK;
|
|
|
int ret = 0;
|
|
|
|
|
|
- IWL_DEBUG_EEPROM(priv, "EEPROM signature=0x%08x\n", gp);
|
|
|
+ IWL_DEBUG_EEPROM(trans, "EEPROM signature=0x%08x\n", gp);
|
|
|
switch (gp) {
|
|
|
case CSR_EEPROM_GP_BAD_SIG_EEP_GOOD_SIG_OTP:
|
|
|
- if (priv->nvm_device_type != NVM_DEVICE_TYPE_OTP) {
|
|
|
- IWL_ERR(priv, "EEPROM with bad signature: 0x%08x\n",
|
|
|
+ if (trans->nvm_device_type != NVM_DEVICE_TYPE_OTP) {
|
|
|
+ IWL_ERR(trans, "EEPROM with bad signature: 0x%08x\n",
|
|
|
gp);
|
|
|
ret = -ENOENT;
|
|
|
}
|
|
|
break;
|
|
|
case CSR_EEPROM_GP_GOOD_SIG_EEP_LESS_THAN_4K:
|
|
|
case CSR_EEPROM_GP_GOOD_SIG_EEP_MORE_THAN_4K:
|
|
|
- if (priv->nvm_device_type != NVM_DEVICE_TYPE_EEPROM) {
|
|
|
- IWL_ERR(priv, "OTP with bad signature: 0x%08x\n", gp);
|
|
|
+ if (trans->nvm_device_type != NVM_DEVICE_TYPE_EEPROM) {
|
|
|
+ IWL_ERR(trans, "OTP with bad signature: 0x%08x\n", gp);
|
|
|
ret = -ENOENT;
|
|
|
}
|
|
|
break;
|
|
|
case CSR_EEPROM_GP_BAD_SIGNATURE_BOTH_EEP_AND_OTP:
|
|
|
default:
|
|
|
- IWL_ERR(priv, "bad EEPROM/OTP signature, type=%s, "
|
|
|
+ IWL_ERR(trans, "bad EEPROM/OTP signature, type=%s, "
|
|
|
"EEPROM_GP=0x%08x\n",
|
|
|
- (priv->nvm_device_type == NVM_DEVICE_TYPE_OTP)
|
|
|
+ (trans->nvm_device_type == NVM_DEVICE_TYPE_OTP)
|
|
|
? "OTP" : "EEPROM", gp);
|
|
|
ret = -ENOENT;
|
|
|
break;
|
|
@@ -660,8 +660,8 @@ int iwl_eeprom_init(struct iwl_priv *priv, u32 hw_rev)
|
|
|
u16 validblockaddr = 0;
|
|
|
u16 cache_addr = 0;
|
|
|
|
|
|
- priv->nvm_device_type = iwl_get_nvm_type(bus(priv), hw_rev);
|
|
|
- if (priv->nvm_device_type == -ENOENT)
|
|
|
+ trans(priv)->nvm_device_type = iwl_get_nvm_type(bus(priv), hw_rev);
|
|
|
+ if (trans(priv)->nvm_device_type == -ENOENT)
|
|
|
return -ENOENT;
|
|
|
/* allocate eeprom */
|
|
|
sz = priv->cfg->base_params->eeprom_size;
|
|
@@ -675,7 +675,7 @@ int iwl_eeprom_init(struct iwl_priv *priv, u32 hw_rev)
|
|
|
|
|
|
iwl_apm_init(priv);
|
|
|
|
|
|
- ret = iwl_eeprom_verify_signature(priv);
|
|
|
+ ret = iwl_eeprom_verify_signature(trans(priv));
|
|
|
if (ret < 0) {
|
|
|
IWL_ERR(priv, "EEPROM not found, EEPROM_GP=0x%08x\n", gp);
|
|
|
ret = -ENOENT;
|
|
@@ -690,7 +690,7 @@ int iwl_eeprom_init(struct iwl_priv *priv, u32 hw_rev)
|
|
|
goto err;
|
|
|
}
|
|
|
|
|
|
- if (priv->nvm_device_type == NVM_DEVICE_TYPE_OTP) {
|
|
|
+ if (trans(priv)->nvm_device_type == NVM_DEVICE_TYPE_OTP) {
|
|
|
|
|
|
ret = iwl_init_otp_access(bus(priv));
|
|
|
if (ret) {
|
|
@@ -744,7 +744,7 @@ int iwl_eeprom_init(struct iwl_priv *priv, u32 hw_rev)
|
|
|
}
|
|
|
|
|
|
IWL_DEBUG_EEPROM(priv, "NVM Type: %s, version: 0x%x\n",
|
|
|
- (priv->nvm_device_type == NVM_DEVICE_TYPE_OTP)
|
|
|
+ (trans(priv)->nvm_device_type == NVM_DEVICE_TYPE_OTP)
|
|
|
? "OTP" : "EEPROM",
|
|
|
iwl_eeprom_query16(priv, EEPROM_VERSION));
|
|
|
|