Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 49594441 authored by Jakub Sitnicki's avatar Jakub Sitnicki Committed by Kalle Valo
Browse files

rtl8xxxu: rtl8192cu: Introduce a pointer to efuse

parent d38f1c37
Loading
Loading
Loading
Loading
+15 −14
Original line number Diff line number Diff line
@@ -2218,50 +2218,51 @@ static int rtl8723bu_parse_efuse(struct rtl8xxxu_priv *priv)

static int rtl8192cu_parse_efuse(struct rtl8xxxu_priv *priv)
{
	struct rtl8192cu_efuse *efuse = &priv->efuse_wifi.efuse8192;
	int i;

	if (priv->efuse_wifi.efuse8192.rtl_id != cpu_to_le16(0x8129))
	if (efuse->rtl_id != cpu_to_le16(0x8129))
		return -EINVAL;

	ether_addr_copy(priv->mac_addr, priv->efuse_wifi.efuse8192.mac_addr);
	ether_addr_copy(priv->mac_addr, efuse->mac_addr);

	memcpy(priv->cck_tx_power_index_A,
	       priv->efuse_wifi.efuse8192.cck_tx_power_index_A,
	       efuse->cck_tx_power_index_A,
	       sizeof(priv->cck_tx_power_index_A));
	memcpy(priv->cck_tx_power_index_B,
	       priv->efuse_wifi.efuse8192.cck_tx_power_index_B,
	       efuse->cck_tx_power_index_B,
	       sizeof(priv->cck_tx_power_index_B));

	memcpy(priv->ht40_1s_tx_power_index_A,
	       priv->efuse_wifi.efuse8192.ht40_1s_tx_power_index_A,
	       efuse->ht40_1s_tx_power_index_A,
	       sizeof(priv->ht40_1s_tx_power_index_A));
	memcpy(priv->ht40_1s_tx_power_index_B,
	       priv->efuse_wifi.efuse8192.ht40_1s_tx_power_index_B,
	       efuse->ht40_1s_tx_power_index_B,
	       sizeof(priv->ht40_1s_tx_power_index_B));
	memcpy(priv->ht40_2s_tx_power_index_diff,
	       priv->efuse_wifi.efuse8192.ht40_2s_tx_power_index_diff,
	       efuse->ht40_2s_tx_power_index_diff,
	       sizeof(priv->ht40_2s_tx_power_index_diff));

	memcpy(priv->ht20_tx_power_index_diff,
	       priv->efuse_wifi.efuse8192.ht20_tx_power_index_diff,
	       efuse->ht20_tx_power_index_diff,
	       sizeof(priv->ht20_tx_power_index_diff));
	memcpy(priv->ofdm_tx_power_index_diff,
	       priv->efuse_wifi.efuse8192.ofdm_tx_power_index_diff,
	       efuse->ofdm_tx_power_index_diff,
	       sizeof(priv->ofdm_tx_power_index_diff));

	memcpy(priv->ht40_max_power_offset,
	       priv->efuse_wifi.efuse8192.ht40_max_power_offset,
	       efuse->ht40_max_power_offset,
	       sizeof(priv->ht40_max_power_offset));
	memcpy(priv->ht20_max_power_offset,
	       priv->efuse_wifi.efuse8192.ht20_max_power_offset,
	       efuse->ht20_max_power_offset,
	       sizeof(priv->ht20_max_power_offset));

	dev_info(&priv->udev->dev, "Vendor: %.7s\n",
		 priv->efuse_wifi.efuse8192.vendor_name);
		 efuse->vendor_name);
	dev_info(&priv->udev->dev, "Product: %.20s\n",
		 priv->efuse_wifi.efuse8192.device_name);
		 efuse->device_name);

	if (priv->efuse_wifi.efuse8192.rf_regulatory & 0x20) {
	if (efuse->rf_regulatory & 0x20) {
		sprintf(priv->chip_name, "8188RU");
		priv->hi_pa = 1;
	}