ipq806x: add ath10k calibration data MAC addresses patching
authorChristian Lamparter <chunkeey@gmail.com>
Sun, 28 Oct 2018 16:39:43 +0000 (17:39 +0100)
committerChristian Lamparter <chunkeey@gmail.com>
Sat, 15 Dec 2018 20:06:11 +0000 (21:06 +0100)
commit330965b342670def66d956d5a20009475ab30d0c
treea54eb094249e47d0eef8e759b8201f3cd6af2193
parentdd5e7d6c509fc79a79c471fc05d2e7b2ded357aa
ipq806x: add ath10k calibration data MAC addresses patching

Ben Greear reported in his patch:
|Subject: netgear r7800: Fix mac address of radios.
|
|Reloading the driver causes the phyX to change, and that
|caused the MAC address to change.

This is because all ODM/OEMs except QCA bothered to write
the correct MAC address for the ath10k wifi into the
calibration data.

This patch copies over the MAC patching helper functions from ipq40xx's
target/linux/ipq40xx/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
file and converts all the devices to patch the correct MACs into the
extracted calibration data before it gets sent to the driver, which sets
up the device with the correct MAC address. It also removes the entries
in the 10_fix_wifi_mac file as they have served their purpose for good.

Please note the C2600: There is conflicting information on what
the offset for the second wifi is supposed to be. This patch uses
what was specified in 10_fix_wifi_mac.

According to Ben Greear this method is save to use with the
stock firmware too. As he explained that the stock firmware
messes up rx-bssid mask calculation when the MAC is changed
after the first vif is created.

Reported-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
target/linux/ipq806x/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
target/linux/ipq806x/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac