History log of /linux-master/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
Revision Date Author Comments
# 5f4e0994 06-Feb-2024 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: pcie: Add new PCI device id and CNVI

Add the support for a new PCIE device-id 0x272E and a new CNVI
type.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240206175739.506db9b4a664.Ia2e3a77b880c449ac0e8d20b8cea25e6f07f1b81@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 814cdd7c 04-Feb-2024 Miri Korenblit <miriam.rachel.korenblit@intel.com>

wifi: iwlwifi: read mac step from aux register

in BZ, the mac step is not updated to the HW REV CSR.
For BZ-I, read it from the CNVI aux register
For BZ-U always take B step.

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240204235836.dcc18b533f13.I0a6267fa0a142744bcf7500b45f667b596b492c5@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 6770eee7 29-Jan-2024 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: pcie: Add the PCI device id for new hardware

Add the support for a new PCI device id.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Reviewed-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240129211905.fde32107e0a3.I597cff4f340e4bed12b7568a0ad504bd4b2c1cf8@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 84ec2d2e 26-Jan-2024 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: disable 160 MHz based on subsystem device ID

The driver should not send 160 MHz BW support for 5 GHz
band in HE if PCI subsystem device ID indicates no 160 MHz support.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Reviewed-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240126085924.77c248ce6986.I558e8d0cf19dc862b1c4124df78a4cb690095bb2@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 099a47db 23-Jan-2024 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: Add support for new 802.11be device

Add support for the new 802.11be device with limites capabilities:
- 320 MHz isn't supported
- MCSs 12 and 13 are not supported

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Reviewed-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240123200528.8529bd2acedf.I25dccb7bbeb21b8df2123fad51dde7fcf137a508@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# cf74ce02 23-Jan-2024 Johannes Berg <johannes.berg@intel.com>

wifi: iwlwifi: add kunit test for devinfo ordering

We used to have a test built into the code for this internally,
but now we can put that into kunit and let everyone run it, to
verify the devinfo table ordering if it's changed.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-by: Benjamin Berg <benjamin.berg@intel.com>
Reviewed-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240123200528.a4a8af7c091f.I0fb09083317b331168b99b8db39656a126a5cc4d@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# de9131b7 06-Dec-2023 Johannes Berg <johannes.berg@intel.com>

wifi: iwlwifi: pcie: get_crf_id() can be void

This never returns an error and the return value is never
checked anyway, so it can just be void.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20231207044813.898b7e99206f.I61378115093fe70e6f5baca7f334651e4190eb3b@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 717361d2 26-Sep-2023 Johannes Berg <johannes.berg@intel.com>

wifi: iwlwifi: pcie: clean up WFPM control bits

We define the same bit twice, remove the less precise
definition and use the better one instead.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230926110319.82d2744690b3.I90c08a27dca26a181dacb069184f39ece77849b5@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# c513228c 21-Sep-2023 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: add mapping of a periphery register crf for WH RF

Add the support for prph register RF details and map it
to get the RF ID of NIC.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230921110727.ccfc4868111f.I94dd75fc82443facf571f2fe8e23c50e9053a35a@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 057381dd 22-Aug-2023 Avraham Stern <avraham.stern@intel.com>

wifi: iwlwifi: pcie: avoid a warning in case prepare card failed

In case CSME holds the NIC and SAP connection is already established,
iwl_pcie_prepare_card_hw() during iwl_pci_probe() will fail
(which is fine since CSME will release the nic later when asked with
a SAP message). In this case tring to grab nic access to read the
crf ids will fail with a warning.
Avoid the warning by only trying to read the crf ids in case prepare
card succeeded.

Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230822103048.9b026fa7b97e.I12bea7e6eef54eeeaf916b68d71583e92ff310fd@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# fd006d60 21-Jun-2023 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: remove support of A0 version of FM RF

Remove the support for A0 step of latest wifi-7
FM RF as it is no longer supported.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230621130444.269d55ffbc8e.I4740f32c3d95d4474a82cc153891c92b9bc465db@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# f4daceae 21-Jun-2023 Yi Kuo <yi@yikuo.dev>

wifi: iwlwifi: pcie: add device id 51F1 for killer 1675

Intel Killer AX1675i/s with device id 51f1 would show
"No config found for PCI dev 51f1/1672" in dmesg and refuse to work.
Add the new device id 51F1 for 1675i/s to fix the issue.

Signed-off-by: Yi Kuo <yi@yikuo.dev>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230621130444.ee224675380b.I921c905e21e8d041ad808def8f454f27b5ebcd8b@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# ecf11f4e 21-Jun-2023 Johannes Berg <johannes.berg@intel.com>

wifi: iwlwifi: also unify Ma device configurations

Again, they're all the same except for the radio and
steps, so use the new logic to unify them.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230621130443.676887cc8180.I29994dec43bfb29aad5e4ab0126c06a9ea4670cb@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# bfed356b 21-Jun-2023 Johannes Berg <johannes.berg@intel.com>

wifi: iwlwifi: also unify Sc device configurations

Again, they're all the same except for the radio and
steps, so use the new logic to unify them.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230621130443.3bc1191f883f.If1e6f73a164b0794ac65372b72673ce8ddf9e571@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 3fd31289 21-Jun-2023 Johannes Berg <johannes.berg@intel.com>

wifi: iwlwifi: unify Bz/Gl device configurations

All the configurations for the various Bz/Gl devices
are basically identical, except for Gl A-step and the
firmware filename prefixes.

Add some infrastructure to auto-generate the firmware
filename prefix based on the detected MAC step and
RF name/step, and remove all the unneeded configs.

This reduces the size of the iwlwifi module by ~9k:
517582 27111 560 545253 851e5 drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
526885 27083 560 554528 87620 drivers/net/wireless/intel/iwlwifi/iwlwifi.ko

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230621130443.1dc121ba338f.I07d651516eb82cbaded4724ef30558a50f2fa866@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# e3597e28 21-Jun-2023 Johannes Berg <johannes.berg@intel.com>

wifi: iwlwifi: pcie: also drop jacket from info macro

We don't need this here anymore, ANY is just fine.
Still keep the rest of the infrastructure so we can
more easily add back support for testing.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230621130443.168c714cbb83.I0721ce86a042c4d8004914129bab46d7ccc8cb00@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 0f21d7d5 21-Jun-2023 Johannes Berg <johannes.berg@intel.com>

wifi: iwlwifi: remove support for *nJ devices

These are test chips that will never reach anyone
outside of Intel, so remove support for them.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230621130443.d9f4e0356ae4.If9eccc22eb500dfff8973a70a649d94af7a60841@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 19898ce9 21-Jun-2023 Johannes Berg <johannes.berg@intel.com>

wifi: iwlwifi: split 22000.c into multiple files

Split the configuration list in 22000.c into four new files,
per new device family, so we don't have this huge unusable
file. Yes, this duplicates a few small things, but that's
still much better than what we have now.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230621130443.7543603b2ee7.Ia8dd54216d341ef1ddc0531f2c9aa30d30536a5d@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# e1374ed2 21-Jun-2023 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: Add support for new CNVi (SC)

Add support for the new Integrated Connectivity (CNVi)
and Companion RF (CRF) versions and their combinations
to handle new devices.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230621130443.716fd707e847.I34f6ffd61e3210c926868a3e961b16d1742bba29@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 8a18d46b 21-Jun-2023 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: Add support for new Bz version

Add support for the new version of the Bz CNVI device.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230621130443.82d436d5f346.I0154c202c5d895cb002a2b7c827b9536e81a84b5@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 35bd6f1d 20-Jun-2023 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: Add support for new PCI Id

Add support for the PCI Id 51F1 without IMR support.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230620125813.9800e652e789.Ic06a085832ac3f988c8ef07d856c8e281563295d@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 3a9690d0 20-Jun-2023 Johannes Berg <johannes.berg@intel.com>

wifi: iwlwifi: limit EHT capabilities based on PCIe link speed

If a discrete NIC is connected to a PCIe link hat isn't at least
Gen3 (8.0 GT/s), then we cannot sustain 320 MHz traffic, so remove
that from EHT capabilities in that case.

While at it, also move setting 320 MHz beamformee to the right
place in the code so it's not set while not supporting 320 MHz.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230620125813.b77a1574a0a7.Id4120c161fb7df6dedc70d5f3e3829e9117b8cb1@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 4e9f0ec3 19-Jun-2023 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: pcie: Handle SO-F device for PCI id 0x7AF0

Add support for AX1690i and AX1690s devices with
PCIE id 0x7AF0.

Cc: stable@vger.kernel.org # 6.1+
Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Link: https://lore.kernel.org/r/20230619150233.461290-2-johannes@sipsolutions.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>


# 9c5608b3 13-Jun-2023 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: support version C0 of BZ and GL devices

Add support for C0 version of MAC and RF for BZ and GL devices.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230613155501.90ad8aab8a03.I86d1675095f0e4f5286d9b7c2b00a0220f524472@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# c5050696 17-Apr-2023 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: Update support for b0 version

Add support for B0 version of MAC of MR device

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230418122405.5dca1ea7a0cf.I87932e1e216a1940eeae8824071ecb777f4c034f@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# c30a2a64 14-Apr-2023 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: add a new PCI device ID for BZ device

Add support for a new PCI device ID 0x272b once registering with PCIe.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230414130637.56342664110d.I5aa6f2858fdcf69fdea4f1a873115a48bd43764e@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 72904029 14-Apr-2023 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: Add RF Step Type for BZ device

Add RF step id handling and handle for BZ device.
Read CNV Aux register and uses for no OTP case.
Add missing rf support for Bz/Bnj device and correct/add
the mapping for rf-type if OTP not present.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230414130637.8f2e2fff7bbc.Iee5554178bc5f134dcc28591db0968e619afbdca@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# b655b9a9 13-Apr-2023 Daniel Gabay <daniel.gabay@intel.com>

wifi: iwlwifi: pcie: fix possible NULL pointer dereference

It is possible that iwl_pci_probe() will fail and free the trans,
then afterwards iwl_pci_remove() will be called and crash by trying
to access trans which is already freed, fix it.

iwlwifi 0000:01:00.0: Detected crf-id 0xa5a5a5a2, cnv-id 0xa5a5a5a2
wfpm id 0xa5a5a5a2
iwlwifi 0000:01:00.0: Can't find a correct rfid for crf id 0x5a2
...
BUG: kernel NULL pointer dereference, address: 0000000000000028
...
RIP: 0010:iwl_pci_remove+0x12/0x30 [iwlwifi]
pci_device_remove+0x3e/0xb0
device_release_driver_internal+0x103/0x1f0
driver_detach+0x4c/0x90
bus_remove_driver+0x5c/0xd0
driver_unregister+0x31/0x50
pci_unregister_driver+0x40/0x90
iwl_pci_unregister_driver+0x15/0x20 [iwlwifi]
__exit_compat+0x9/0x98 [iwlwifi]
__x64_sys_delete_module+0x147/0x260

Signed-off-by: Daniel Gabay <daniel.gabay@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230413213309.082f6e21341b.I0db21d7fa9a828d571ca886713bd0b5d0b6e1e5c@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 5caa8252 13-Apr-2023 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: Update configurations for Bnj-a0 and specific rf devices

Correction in config data is done for loading the ucode.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230413102635.879b654c8d83.I7dbea9f411a0b6f47908c4ad6321c7e55cbeb636@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 0aa27be5 13-Apr-2023 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: Update configuration for SO,SOF MAC and HR RF

update the device configuration for HR1 device for SO and SOF device.
QuZ device configuration is corrected to support specific CRF.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230413102635.86f08520323f.Ieccb50de47f877b85732000a0d67b645eeeb0c2a@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# fc3c2f0e 10-Apr-2023 Gregory Greenman <gregory.greenman@intel.com>

wifi: iwlwifi: fix duplicate entry in iwl_dev_info_table

There're two identical entries for ax1650 device in
iwl_dev_info_table. Remove one of the duplicate entries.

Fixes: 953e66a7238b ("iwlwifi: add new ax1650 killer device")
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230410140721.897683-2-gregory.greenman@intel.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 3068248b 19-Mar-2023 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: Update configurations for Bnj device

Add missing rf support for spacific rf for BnJ device

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230320122330.eeb7ebb9ed87.I30c3938221aeb6f6ba2c84b1a77eea54c9dd3ba1@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# c2db0175 14-Mar-2023 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: Update configurations for Bnj and Bz devices

Add missing rf support for Bz device and B-Step for BnJ device

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230314194113.14c373dcfe15.I96b96a8b149ac181e962f4b82e0d15b172823d0f@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# b96e516c 05-Mar-2023 Golan Ben Ami <golan.ben.ami@intel.com>

wifi: iwlwifi: Add support for B step of BnJ-Fm4

Support new HW step of BnJ-Fm4 device

Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230305124407.bb0591c59898.If04d7a45707ba008981f8c8ea7f7f107880f146c@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 3a27a1a1 05-Dec-2022 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

wifi: iwlwifi: pcie: Add reading and storing of crf and cdb id.

Read and store crf and cdb id details to make it
available during driver's lifetime

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20221205102808.888b30780128.Ic8c4c088a75a0d7092d6301ef3760a118a06d819@changeid


# bcc58c83 06-Sep-2022 Yaara Baruch <yaara.baruch@intel.com>

wifi: iwlwifi: pcie: add support for BZ devices

Add support in BZ-FM and BZ-GL devices. Adjust current structs
steps to differ between the new devices.

Signed-off-by: Yaara Baruch <yaara.baruch@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20220906161827.0b7fc8487039.I984dcb58272e2f38c835e7aaa7e1ac646bc2f65e@changeid
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>


# 1c4db761 04-Mar-2022 Mukesh Sisodiya <mukesh.sisodiya@intel.com>

iwlwifi: mvm: add support for IMR based on platform

Driver needs to enable IMR which is needed for debug on
certain platforms, so add a device config flag to set it.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220304131517.0b96b2760503.I08bc741c8c497a2edbe4784cdab6abd8d04c62f3@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# eaf4e9d0 10-Feb-2022 Yaara Baruch <yaara.baruch@intel.com>

iwlwifi: pcie: iwlwifi: fix device id 7F70 struct

The device was defined under Ma instead of So, and add 2 missing
killer devices from the 211 family.

Signed-off-by: Yaara Baruch <yaara.baruch@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220210181930.02142c6f0579.Ic480a0cc08625e74a8449262aeebb1813edf9979@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# b6356d43 30-Jan-2022 Mike Golant <michael.golant@intel.com>

iwlwifi: add support for BZ-U and BZ-L HW

Add support for BZ-U and BZ-L HW
with GF, GF4, MR, FM and FM4 RF modules

Signed-off-by: Mike Golant <michael.golant@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220130115024.da218b81e88d.I5aa958baef1691d443b9f6e42f7b68514e89f0dc@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# ac4790dc 29-Jan-2022 Yaara Baruch <yaara.baruch@intel.com>

iwlwifi: pcie: add support for MS devices

Add MS devices to the driver. For now we are using the same FW image as MR
(since they differ only in rfid), but it should change in the future.

Signed-off-by: Yaara Baruch <yaara.baruch@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220129105618.a82ca9207ace.I38aa0acfb7846b179027b6f87f5f88f8e4177f63@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# dbe6f76a 19-Dec-2021 Yaara Baruch <yaara.baruch@intel.com>

iwlwifi: pcie: add killer devices to the driver

add killer subsystem devices from the 1675i and 1675s family
to the driver.

Signed-off-by: Yaara Baruch <yaara.baruch@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211219132536.2d5bec2d7b68.Icffb4e27390e6a5c76a0cbe7abf7472558f323d6@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 92fd0ce9 10-Dec-2021 Mike Golant <michael.golant@intel.com>

iwlwifi: add support for BNJ HW

Add support for BNJ HW with GF, GF4, HR1, FM and FM4 RF modules

Signed-off-by: Mike Golant <michael.golant@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211210090244.e94c1f921245.I8cba209b1366dc0636a04711fc6a85539ca878d0@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# f1c0bb74 10-Dec-2021 Matti Gottlieb <matti.gottlieb@intel.com>

iwlwifi: Read the correct addresses when getting the crf id

The original implementation checked the HW family, and as a result
of that used different addresses for the prph registers.

The old HWs addresses start with 0xa****** and the newer
ones start with 0xd******.

For this there are iwl_read/write_umac_prph functions that just add the

diff in the address automatically (in this case 0x300000), so the code will
be common for all HWs

In the original implementation the address given already had the 0xd******
causing the address to become 0x10***** (after adding the offset)

Change the registers to start with 0xa*****.

Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211210090244.db2722547eb2.I03dce63698befc2fd9105111c3015b8d6e36868a@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 2b0ceda9 10-Dec-2021 Mike Golant <michael.golant@intel.com>

iwlwifi: pcie: add jacket bit to device configuration parsing

Some devices have same HW ID's and the only way to differentiate them is
by checking the jacket bit.

Signed-off-by: Mike Golant <michael.golant@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211210090244.cffa843734d3.I01963e494c459efde5d909c1085cd561e0df9df9@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 953e66a7 04-Dec-2021 Yaara Baruch <yaara.baruch@intel.com>

iwlwifi: add new ax1650 killer device

Add new Qu-Hr killer device id.

Signed-off-by: Yaara Baruch <yaara.baruch@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211204174546.997c250b9edc.Id50730e3e342297432eed47cdf9678ee16cf6d17@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# def423ea 04-Dec-2021 Yaara Baruch <yaara.baruch@intel.com>

iwlwifi: add new Qu-Hr device

Add new Qu-Hr device ID.

Signed-off-by: Yaara Baruch <yaara.baruch@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211204174546.c68af5f8d7ce.I37894e98080161c3bca6f33b99a5b8812166ee41@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 4743a72f 04-Dec-2021 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: add missing entries for Gf4 with So and SoF

We need to support platforms with So and SoF together with Gf4 radio
modules. The difference is that these devices support CDB, so add the
entries accordingly.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211204130722.e7fa5b87fbdb.Ib47ff1dc082366b570649dfd8a2b24f0d6c52b5b@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 94cc0b9e 03-Dec-2021 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: remove unused iwlax210_2ax_cfg_so_hr_a0 structure

We don't use this structure anymore, except for a check that will
never match, so we can remove this structure entirely.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211204083238.c41548abd174.I6bb4f6058fd85e1dd92cd056b6eaca1cb4aa74a3@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# f738e705 03-Dec-2021 Mike Golant <michael.golant@intel.com>

iwlwifi: add support for Bz-Z HW

Add support for Bz Z step HW with GF RF.

Signed-off-by: Mike Golant <michael.golant@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211204083238.fc8626515758.Ibfeffc8bb071f9773ea189992ebef056f51be1be@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 55c6d8f8 07-Dec-2021 Mike Golant <michael.golant@intel.com>

iwlwifi: support 4-bits in MAC step value

We have a MAC component (which is inside the SoC) and it has several
different HW steps. 3 bits used to be enough but now we need 4-bits
to represent all the different steps.

Properly support 4-bits in the MAC step value by refactoring all the
current handling of the MAC step/dash.

Already from family 8000 and up the dash (bits 0-1) no longer exists
and the step (until 8000 bits 2-3) consists of the dash bits as well.

To do this remove the CSR_HW_REV_STEP and the CSR_HW_REV_DASH
macros, replace them with CSR_HW_REV_STEP_DASH and add hw_rev_step
into the trans struct.

In addition remove the CSR_HW_IF_CONFIG_REG_MSK_MAC_STEP and
CSR_HW_IF_CONFIG_REG_MSK_MAC_DASH macros and create a new macro
combining the 2 (this way we don't need shifting or anything else.)

Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com>
Signed-off-by: Mike Golant <michael.golant@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211207160459.2e81a14d1f80.Ia5287e37fb3439d805336837361f6491f958e465@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 6d19a5eb 11-Nov-2021 Emmanuel Grumbach <emmanuel.grumbach@intel.com>

iwlwifi: integrate with iwlmei

iwlmei needs to know about the follwing events:

* Association
* De-association
* Country Code change
* SW Rfkill change
* SAR table changes

iwlmei can take the device away from us, so report the new
rfkill type when this happens.
Advertise the required data from the CSME firmware to the
usersapce: mostly, the AP that the CSME firmware is currently
associated to in case there is an active link protection
session.
Generate the HOST_ASSOC / HOST_DISSASSOC messages.

Don't support WPA1 (non-RSNA) for now.
Don't support shared wep either.
We can then determine the AUTH parameter by checking the AKM.
Feed the cipher from the key installation.

SW Rfkill will be implemented later when cfg80211 will
allow us to read the SW Rfkill state.

Co-Developed-by: Ayala Beker <ayala.beker@intel.com>
Signed-off-by: Ayala Beker <ayala.beker@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>

v7: Ayala added her signed-off
remove pointless function declaration
fix a bug due to merge conflict in the HOST_ASSOC message
v8: leave a print if we have a SAP connection on a device we do
not support (yet)
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20211112062814.7502-4-emmanuel.grumbach@intel.com


# 1b54403c 02-Nov-2021 chongjiapeng <jiapeng.chong@linux.alibaba.com>

iwlwifi: Fix missing error code in iwl_pci_probe()

The error code is missing in this code scenario, add the error code
'-EINVAL' to the return value 'ret'.

Eliminate the follow smatch warning:

drivers/net/wireless/intel/iwlwifi/pcie/drv.c:1376 iwl_pci_probe() warn:
missing error code 'ret'.

Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Fixes: 1f171f4f1437 ("iwlwifi: Add support for getting rf id with blank otp")
Signed-off-by: chongjiapeng <jiapeng.chong@linux.alibaba.com>
Acked-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1635838727-128735-1-git-send-email-jiapeng.chong@linux.alibaba.com


# fe785f56 18-Nov-2021 Arnd Bergmann <arnd@arndb.de>

iwlwifi: pcie: fix constant-conversion warning

Both gcc-11 and clang point out a potential issue with integer overflow when
the iwl_dev_info_table[] array is empty. This is what clang warns:

drivers/net/wireless/intel/iwlwifi/pcie/drv.c:1344:42: error: implicit conversion from 'unsigned long' to 'int' changes value from 18446744073709551615 to -1 [-Werror,-Wconstant-conversion]
for (i = ARRAY_SIZE(iwl_dev_info_table) - 1; i >= 0; i--) {
~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~

This is still harmless, as the loop correctly terminates, but adding
an extra range check makes that obvious to both readers and to the
compiler.

Fixes: 3f7320428fa4 ("iwlwifi: pcie: simplify iwl_pci_find_dev_info()")
Reported-by: kernel test robot <lkp@intel.com>
Cc: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20211118142124.526901-1-arnd@kernel.org


# 3f732042 24-Oct-2021 Johannes Berg <johannes.berg@intel.com>

iwlwifi: pcie: simplify iwl_pci_find_dev_info()

We currently match the list of devices from the start to
the end, but then find the *last* match, so we need to
look at each and every entry. We don't want to change the
semantics ("most generic entry must come first"), so just
change the order of matching to be back-to-front, then we
can break out once we find a match.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211024165252.abd85e1391cb.I7681fe90735044cc1c59f120e8591b7ac125535d@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# f06bc8af 24-Oct-2021 Yaara Baruch <yaara.baruch@intel.com>

iwlwifi: add new pci SoF with JF

add new SoF JF device to the driver.

Signed-off-by: Yaara Baruch <yaara.baruch@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211024165252.50e62c8ef85b.I3498879d8c184e42b1578a64aa7b7c99a18b75fb@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 2270bb68 24-Oct-2021 Johannes Berg <johannes.berg@intel.com>

iwlwifi: pcie: remove two duplicate PNJ device entries

Since PNJ and TH have the same ID (0x32), there are duplicate
entries. Remove the duplicates with PNJ since PNJ is only the
test device in the first place.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211024165252.0ca7c9322e69.Id2f32427795d0713fd7d2722567e604808b219dd@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 0a1f96d5 24-Oct-2021 Johannes Berg <johannes.berg@intel.com>

iwlwifi: pcie: refactor dev_info lookup

The large condition here is not very clear, refactor the code to
a separate function where we can more easily just check each of
the pieces separately.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211024165252.ef06ed58a26e.Ie9664a94b157c5781c481118d900ae428c26fdb3@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 636cc165 24-Oct-2021 Johannes Berg <johannes.berg@intel.com>

iwlwifi: pcie: remove duplicate entry

This entry is literally duplicated, remove one of them.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211024165252.239f82fc3737.I5fef3a20fbce77e201dc35d45be0ee526bcd3cd3@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# c7d3db99 24-Oct-2021 Johannes Berg <johannes.berg@intel.com>

iwlwifi: pcie: fix killer name matching for AX200

The "Killer(R) Wi-Fi 6 AX1650w 160MHz Wireless Network Adapter (200D2W)"
and "Killer(R) Wi-Fi 6 AX1650x 160MHz Wireless Network Adapter (200NGW)"
names couldn't match properly because the most generic entry needs to be
specified last.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211024165252.86a430e5b2ff.I7a9e89df7ddfc939690d3718d41afc934a4d4ea0@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 66198ac5 17-Oct-2021 Yaara Baruch <yaara.baruch@intel.com>

iwlwifi: add new device id 7F70

Add new 7F70 device to cards id struct.
Add new 7F70 DID killers devices.

Signed-off-by: Yaara Baruch <yaara.baruch@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211017165728.d931a48ad8bd.I9b027837cba3478c9bb74c3f07df48eaef70a197@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 33c99471 17-Oct-2021 Yaara Baruch <yaara.baruch@intel.com>

iwlwifi: add new killer devices to the driver

Add 1550, 1675 and 1690 killer devices to the driver.

Signed-off-by: Yaara Baruch <yaara.baruch@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211017165728.9a3d01b8c4e9.I9720afa0a6ea72f94ed4a3f3cf88294174ab905b@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 2fd8aaae 17-Oct-2021 Johannes Berg <johannes.berg@intel.com>

iwlwifi: pcie: try to grab NIC access early

Sometimes some NICs may fail to initialize, but if we have
such a scenario we may only see an alive timeout (i.e. the
firmware doesn't send us the alive message), and that will
only cause us to fail the interface up.

Try to once grab NIC access during device probe to ensure
we can properly talk to the hardware at all, and to do all
the potential workarounds in that function.

Since we now finish NIC init here, we can remove it from
the later potential read of the RF ID.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20211017165728.604dfc8f43bd.I07b58a5c9238f75413a91198452ba1268ee79425@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# af82c007 26-Aug-2021 Matti Gottlieb <matti.gottlieb@intel.com>

iwlwifi: Add support for more BZ HWs

Add support for GA and for BZ with FM rf.

Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210826224715.64ab5278fb9f.I4f2a547dc04c3d14cacdbc739da0b056fc04923d@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 1f171f4f 26-Aug-2021 Matti Gottlieb <matti.gottlieb@intel.com>

iwlwifi: Add support for getting rf id with blank otp

When having a blank OTP the only way to get the rf id
and the cdb info is from prph registers.

Currently there is some implementation for this, but it
is located in the wrong place in the code (should be before
trying to understand what HW is connected and not after),
and it has a partial implementation.

Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210826224715.820c2ae18c2b.Iec9b2e2615ce65e6aff5ce896589227a7030f4cf@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 70382b08 16-Oct-2021 Yaara Baruch <yaara.baruch@intel.com>

iwlwifi: change all JnP to NO-160 configuration

JnP should not have the 160 MHz.

Signed-off-by: Yaara Baruch <yaara.baruch@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20211016114029.ee163f4a7513.I7f87bd969a0b038c7f3a1a962d9695ffd18c5da1@changeid


# fe5c735d 24-Sep-2021 Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>

iwlwifi: pcie: add configuration of a Wi-Fi adapter on Dell XPS 15

There is a Killer AX1650 2x2 Wi-Fi 6 and Bluetooth 5.1 wireless adapter
found on Dell XPS 15 (9510) laptop, its configuration was present on
Linux v5.7, however accidentally it has been removed from the list of
supported devices, let's add it back.

The problem is manifested on driver initialization:

Intel(R) Wireless WiFi driver for Linux
iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
iwlwifi: No config found for PCI dev 43f0/1651, rev=0x354, rfid=0x10a100
iwlwifi: probe of 0000:00:14.3 failed with error -22

Bug: https://bugzilla.kernel.org/show_bug.cgi?id=213939
Fixes: 3f910a25839b ("iwlwifi: pcie: convert all AX101 devices to the device tables")
Cc: Julien Wajsberg <felash@gmail.com>
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Acked-by: Luca Coelho <luca@coelho.fi>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210924122154.2376577-1-vladimir.zapolskiy@linaro.org


# 2f32c147 02-Jul-2021 Justin M. Forbes <jforbes@fedoraproject.org>

iwlwifi Add support for ax201 in Samsung Galaxy Book Flex2 Alpha

The Samsung Galaxy Book Flex2 Alpha uses an ax201 with the ID a0f0/6074.
This works fine with the existing driver once it knows to claim it.
Simple patch to add the device.

Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210702223155.1981510-1-jforbes@fedoraproject.org


# d01408ee 02-Aug-2021 Johannes Berg <johannes.berg@intel.com>

iwlwifi: give Bz devices their own name

The real name isn't determined yet, but give them a new
name that isn't clashing with older devices.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210802215208.46b86c8074b2.I94d58b8e622ca87658dc05b05483fb954d526eab@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 891332f6 19-Jul-2021 Yaara Baruch <yaara.baruch@intel.com>

iwlwifi: add new so-jf devices

Add new so-jf devices to the driver.

Signed-off-by: Yaara Baruch <yaara.baruch@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210719144523.1c9a59fd2760.If5aef1942007828210f0f2c4a17985f63050bb45@changeid


# a5bf1d44 19-Jul-2021 Yaara Baruch <yaara.baruch@intel.com>

iwlwifi: add new SoF with JF devices

Add new SoF JF devices to the driver.

Signed-off-by: Yaara Baruch <yaara.baruch@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210719144523.0545d8964ff2.I3498879d8c184e42b1578a64aa7b7c99a18b75fb@changeid


# c863797b 21-Jun-2021 ybaruch <yaara.baruch@intel.com>

iwlwifi: add 9560 killer device

add new killer devices configurations.

Signed-off-by: ybaruch <yaara.baruch@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210621103449.4179f7191531.I3d5ed6b2b39fcd42863a679e21bda23a6c14253e@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 163c3615 12-Jun-2021 Johannes Berg <johannes.berg@intel.com>

iwlwifi: pcie: remove CSR_HW_RF_ID_TYPE_CHIP_ID

This is duplicated with CSR_HW_RFID_TYPE so just use the latter
for less typing/shorter lines.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210612142637.00b220f4ba53.I1fe216a46e7d9c1316d681daa293064f16ff1899@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 7e2c1437 12-Jun-2021 Matti Gottlieb <matti.gottlieb@intel.com>

iwlwifi: pcie: Add support for AX231 radio module with Ma devices

Add support for AX231 radio modules, which we call Fm.
These modules can be used with the Ma family of devices
and above.

Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210612142637.c1fdd153d686.I7ee0485c52fb429de1fe171cb6dc0ae593a26788@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 8932abef 11-Apr-2021 Matti Gottlieb <matti.gottlieb@intel.com>

iwlwifi: pcie: Change ma product string name

Change ma product string name to the correct name,
and to reflect the CRF and not the CNV.

Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210411132130.c05b4c55540f.I8dd0361b033f63658999ba53640949701b048f17@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# d12455fd 11-Apr-2021 Johannes Berg <johannes.berg@intel.com>

iwlwifi: trans/pcie: defer transport initialisation

In a few PCIe devices we may have to swap out the configuration
after we allocate/initialise some parts of the device because
we only know the correct one after reading some registers. This
causes some things such as the byte-count table allocations to
be incorrect, since the configuration is swapped for one with a
bigger queue size.

Fix this by initialising most of the transport much later, only
after the configuration has finally been determined.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210411132130.8f5db97db1e4.Ic622da559b586a04ca536a0ec49ed5ecf03a9354@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 9a0f28d8 30-Mar-2021 ybaruch <yaara.baruch@intel.com>

iwlwifi: add new so-gf device

add new so-gf device to the driver.

Signed-off-by: ybaruch <yaara.baruch@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210331121101.d6b0c1f85a7e.I2098ca066607edc48336021ea2e5afdbf8196acf@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 85b5fd94 30-Mar-2021 ybaruch <yaara.baruch@intel.com>

iwlwifi: add ax201 killer device

add new killer devices configurations.

Signed-off-by: ybaruch <yaara.baruch@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210331121101.54967363d26d.I5d1a3d810cf6abace51ebb2630d62d891e9fd302@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 48a5494d 30-Mar-2021 Johannes Berg <johannes.berg@intel.com>

iwlwifi: pcie: make cfg vs. trans_cfg more robust

If we (for example) have a trans_cfg entry in the PCI IDs table,
but then don't find a full cfg entry for it in the info table,
we fall through to the code that treats the PCI ID table entry
as a full cfg entry. This obviously causes crashes later, e.g.
when trying to build the firmware name string.

Avoid such crashes by using the low bit of the pointer as a tag
for trans_cfg entries (automatically using a macro that checks
the type when assigning) and then checking that before trying to
use the data as a full entry - if it's just a partial entry at
that point, fail.

Since we're adding some macro magic, also check that the type is
in fact either struct iwl_cfg_trans_params or struct iwl_cfg,
failing compilation ("initializer element is not constant") if
it isn't.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210330162204.6f69fe6e4128.I921d4ae20ef5276716baeeeda0b001cf25b9b968@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 39ab22c1 30-Mar-2021 ybaruch <yaara.baruch@intel.com>

iwlwifi: change step in so-gf struct

change the step of iwlax210_2ax_cfg_so_jf_a0 to
iwlax210_2ax_cfg_so_jf_b0 as it is on the wcd_fw-dev
repository.

Signed-off-by: ybaruch <yaara.baruch@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210330162204.e9a9d1da76bc.Ie964f37872bbb88d1a02094134f9a2c38faad884@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 2be05dfd 30-Mar-2021 Matti Gottlieb <matti.gottlieb@intel.com>

iwlwifi: pcie: Add support for Bz Family

Add support for different combinations of Bz
and CRFs.

Note: As of now we do not know the exact values
for ltr_delay and xtal_latency, so for now use the
worst case scenario values until the actual values
are clarified.

Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210330162204.caac8d996532.I6a22d6decb106cd50d7954b19236b69d685dcc39@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 08f4b0b1 25-Mar-2021 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: add support for So-F devices

We have a new type of device that has a different MAC ID, but is
otherwise identical to So devices. Add rules to match this new ID
accordingly.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20210326125611.4feea3560def.I2b6ef794c2073a18779dd40fb53f8c942d1ab42d@changeid


# 97195d3c 25-Mar-2021 Matt Chen <matt.chen@intel.com>

iwlwifi: add support for Qu with AX201 device

Add this specific Samsung AX201 sku to driver so it can be
detected and initialized successfully.

Signed-off-by: Matt Chen <matt.chen@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20210326125611.30b622037714.Id9fd709cf1c8261c097bbfd7453f6476077dcafc@changeid


# 62541e26 25-Feb-2021 Kalle Valo <kvalo@codeaurora.org>

iwlwifi: pcie: fix iwl_so_trans_cfg link error when CONFIG_IWLMVM is disabled

Randy reported an error on his randconfig builds:

ERROR: modpost: "iwl_so_trans_cfg" [drivers/net/wireless/intel/iwlwifi/iwlwifi.ko] undefined!

The problem was that when CONFIG_IWLMVM was disabled we were still accessing
iwl_so_trans_cfg. Fix it by moving IS_ENABLED() check before the access.

Reported-by: Randy Dunlap <rdunlap@infradead.org>
Fixes: 930be4e76f26 ("iwlwifi: add support for SnJ with Jf devices")
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Acked-by: Luca Coelho <luciano.coelho@intel.com>
Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1614236661-20274-1-git-send-email-kvalo@codeaurora.org


# 1205d7f7 10-Feb-2021 Matti Gottlieb <matti.gottlieb@intel.com>

iwlwifi: pcie: add AX201 and AX211 radio modules for Ma devices

Add support for AX201 and AX211 radio modules, which we call HR2 and
GF, respectively. These modules can be used with the Ma family of
devices and above.

Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210210142629.f8e3080ce633.I7377b421b031796730daf809c4024a3c3ef95fa8@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# b964bfd0 10-Feb-2021 Matti Gottlieb <matti.gottlieb@intel.com>

iwlwifi: pcie: add CDB bit to the device configuration parsing

Some new devices contain an extra bit in the CRF ID register to denote
that they support CDB. Add definitions and macros to be able to
support it and add the "NO_CDB" to all existing entired.

Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210210142629.7b40184d9899.I3bb2cf9b9afb0457583f786dc52d4d1b1ad75ffc@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 1c094e5e 10-Feb-2021 Matti Gottlieb <matti.gottlieb@intel.com>

iwlwifi: pcie: Change Ma device ID

The Ma device ID needs to be 0x7E40 instead of 0x7E80.

Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210210135352.a97272169e3f.Ic4acfb3f7b4e9d7b49c9c0b9a31c9a305d4d9fcc@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 806832c9 10-Feb-2021 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: add a few missing entries for So with Hr

Some devices were missing from the So with Hr section.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210210135352.71da7ce27261.I0d96fe7b799527c49f1270ddf9acdb152bdd4841@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 410f7585 06-Feb-2021 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: add new cards for So and Qu family

add few PCI ID'S for So with Hr and Qu with Hr in AX family.

Cc: stable@vger.kernel.org
Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210206130110.6f0c1849f7dc.I647b4d22f9468c2f34b777a4bfa445912c6f04f0@changeid


# 7f9c3bc4 05-Feb-2021 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: add support for SnJ with Hr1

Add an entry for SnJ with Hr1. This device should use the
tx_with_siso_diversity option, but that doesn't work at the moment.
So we leave it disabled for now (and use the same struct as Hr2).

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210205110447.455e59ba3a4c.I49ebb07382e6d11dc8f50e6a58d579681209cb1d@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 930be4e7 05-Feb-2021 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: add support for SnJ with Jf devices

Add support for SnJ devices with Jf and a workaround for some cases
where the devices erroneously show as QnJ devices.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210205110447.ae6ed654e557.Ic11ed4df410328359b6a2c997456692901d99468@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 6f60fb03 05-Feb-2021 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: move SnJ and So rules to the new tables

We were hardcoding the SnJ and So IDs already at the trans_cfg
selection, instead of doing it in a more generic way. Use the generic
trans_cfg selection for these devices and move the hardcoded IDs to
the new table.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210205110447.7e11dcb7b04e.I6f65126175d54b73834c2896013d00ce114ff601@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 16062c12 22-Jan-2021 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: add rules to match Qu with Hr2

Until now we have been relying on matching the PCI ID and subsystem
device ID in order to recognize Qu devices with Hr2. Add rules to
match these devices, so that we don't have to add a new rule for every
new ID we get.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20210122144849.591ce253ddd8.Ia4b9cc2c535625890c6d6b560db97ee9f2d5ca3b@changeid


# ac1a98e1 09-Dec-2020 Matti Gottlieb <matti.gottlieb@intel.com>

iwlwifi: Add a new card for MA family

Add a PCI ID for snj with mr in AX family.

Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201209231352.101ac3058c04.Idd28706b122cdc8103956f8e72bb062fe4adb54e@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 8e99ea8d 09-Dec-2020 Johannes Berg <johannes.berg@intel.com>

iwlwifi: use SPDX tags

Use SPDX tags instead of the long copyright notices. Also cleanup
some duplicate copyright notices and combine the years where possible.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201210000603.481bcb512a6f.I8146abe5a637079e7336209f23cb26af98b12b31@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 4adfaf9b 09-Dec-2020 Emmanuel Grumbach <emmanuel.grumbach@intel.com>

iwlwifi: pcie: remove obsolete pre-release support code

We no longer need code that was introduced to differentiate
between two early versions of 8260.

We can remove this convoluted way to get the hardware version
that was needed because of a bug in the register's
configuration.

Moreover, since we no longer need to access the PRPH
registers, we no longer need to wake up the device,
request ownership, etc...
Remove all that.

This allows us to get the rid of the obsolete comment
about the AUX bus MISC address space which should have
been moved when this code was moved away from here.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201209231352.4a5665ccd8a6.Iff3879405c15758ba661c430e77dc2160ddada1c@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 9b15596c 02-Dec-2020 Golan Ben Ami <golan.ben.ami@intel.com>

iwlwifi: pcie: add some missing entries for AX210

Some subsytem device IDs were missing from the list, so some AX210
devices were not recognized. Add them.

Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20201202143859.a06ba7540449.I7390305d088a49c1043c9b489154fe057989c18f@changeid
Link: https://lore.kernel.org/r/20201121003411.9450-1-ikegami.t@gmail.com


# 5febcdef 02-Dec-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: add one missing entry for AX210

The 0x0024 subsytem device ID was missing from the list, so some AX210
devices were not recognized. Add it.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20201202143859.308eab4db42c.I3763196cd3f7bb36f3dcabf02ec4e7c4fe859c0f@changeid


# 24436191 08-Oct-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: fix xtal latency for 9560 devices

We were using a very high latency for all 9560 devices so they all
would have time to stabilize. But this causes the system to be
slighly slower, so we can use the best values for each device.

This requires a new trans cfg struct for devices with longer latency
and some adjustments to the other structs.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20201008181047.34392f98fdb1.I3d3db14f6d1a8ecc547ca6afce8488816bd26081@changeid


# a48d400c 08-Oct-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: fix 0x271B and 0x271C trans cfg struct

The 0x271B and 0x271C devices are part of the 9000 series (discrete),
and not 9560 (integrated). Fix it accordingly.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20201008180656.5cc1809940d2.If0d1e0b91fa99486403d276cf7c0fe7680a7ca2a@changeid


# 43dc85b5 08-Oct-2020 Golan Ben Ami <golan.ben.ami@intel.com>

iwlwifi: support an additional Qu subsystem id

Add PCI subsystem ID 0x6074 for Qu family.

Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20201008180656.fba1c29fc217.I7d47c8de078d48cfc1c98ce1086e71d8d2ebb980@changeid


# 38cb52dd 25-Sep-2020 Roee Goldfiner <roee.h.goldfiner@intel.com>

iwlwifi: add new card for MA family

added ID for ma in AX family.

Signed-off-by: Roee Goldfiner <roee.h.goldfiner@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200926002540.8cf7040fe88c.I39ef960a4d448b7d303c2bbfcccded09a54479b0@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# bc9296f4 24-Sep-2020 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: add new cards for MA family

add few PCI ID'S for ma with gf and mr in AX family.

Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200924162105.6add94c21abe.I1aa1c5e3c2c12ce82ed30429e0ad92225ece7ce3@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# fda1bd0d 24-Sep-2020 Mordechay Goodstein <mordechay.goodstein@intel.com>

iwlwifi: iwl-trans: move all txcmd init to trans alloc

txcmd fields is not directly related to the PCIe transport,
so move to the common iwl_trans_alloc function.

Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200924162105.862ef88d1ab2.Iba220a962b5d6d05c030b9275d97a89202d055dc@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 64564669 11-Sep-2020 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: add new cards for AX201 family

add few PCI ID'S for AX201 family including killer cards.

Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200911204056.21397978115f.Id2d95275a36a6bb6b226d12cb6c5a629334587db@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# b5ba46b8 14-Jul-2020 Alessio Bonfiglio <alessio.bonfiglio@mail.polimi.it>

iwlwifi: Make some Killer Wireless-AC 1550 cards work again

Fix the regression introduced by commit c8685937d07f ("iwlwifi: move
pu devices to new table") by adding the ids and the configurations of
two missing Killer 1550 cards in order to configure and let them work
correctly again (following the new table convention).
Resolve bug 208141 ("Wireless ac 9560 not working kernel 5.7.2",
https://bugzilla.kernel.org/show_bug.cgi?id=208141).

Fixes: c8685937d07f ("iwlwifi: move pu devices to new table")
Signed-off-by: Alessio Bonfiglio <alessio.bonfiglio@mail.polimi.it>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200714091911.4442-1-alessio.bonfiglio@mail.polimi.it


# f92f26f2 23-Apr-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: handle QuZ configs with killer NICs as well

The killer devices were left out of the checks that convert Qu-B0 to
QuZ configurations. Add them.

Cc: stable@vger.kernel.org # v5.3+
Fixes: 5a8c31aa6357 ("iwlwifi: pcie: fix recognition of QuZ devices")
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Tested-by: You-Sheng Yang <vicamo@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20200424121518.b715acfbe211.I273a098064a22577e4fca767910fd9cf0013f5cb@changeid


# 3f910a25 24-Apr-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: convert all AX101 devices to the device tables

Convert all Qu/Hr1 devices to the new device tables, by modifying the
corresponding structures, adding a new name and generalizing the
device recognition.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200424194456.ec0e04102d2c.Ia36f2c7bbf06cb6436424d40d6adb2376f2962ee@changeid


# d5727b60 24-Apr-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: convert QnJ with Hr to the device table

Convert all the occurrences of QnJ with Hr into a single entry in the
PCI device table.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200424194456.21283ca79d82.I57a493c679a56fff11417afdaec76617711ff6a9@changeid


# ebe7b061 24-Apr-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: remove mangling for iwl_ax101_cfg_qu_hr

All devices that use iwl_ax101_cfg_qu_hr are recognized via the device
info table, so the cfg will never be iwl_ax101_cfg_qu_hr. Remove the
code that converts this into QuZ and Qu-C, since it's not needed
anymore.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200424194456.30b6b4aae1c1.If5e583835c9f7f2771a50ba1b2f33bb85f25b383@changeid


# 53abad42 24-Apr-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: remove outdated comment about PCI RTPM reference

This comment was only related to the PCI RTPM implementation, which
has been removed a while ago, and is not meaningless. Remove it.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200424194456.f362e4560a3b.I8d858c6c9a6c98b45d2195dfe28dabe0286c8a83@changeid


# 62bee486 18-Apr-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: add new structs for So devices with long latency

Some So devices have a longer wake latency. To support this properly,
add new cfg structs for them so the driver will inform the FW about
the need to use another xtal and use a higher wait value during state
transitions.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200418110539.daf515618f57.I80e60006b108e1586e3c56669635c670597fe08d@changeid


# 9c9613f0 18-Apr-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: add new structure for Qu devices with medium latency

Some Qu devices require an intermediate amount of time to wake up and
for LTR notifications, so add a new structure with the correct values
for them and change the corresponding devices to use it.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200418110539.d6df2bcee78f.Ie008b0c8f03340a466c1ef981bfd25359c9de90d@changeid


# 4ee27edd 18-Apr-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: add cfgs for SoCs with device ID 0x4FD0

A new device ID needs to be added to the list to support new SoCs.
Add it and support all subsystem IDs that other Qu devices support.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200418110539.5e5ce668ff8b.I20a9c8b3470aaabaa54361a5641637e5a14d8321@changeid


# e819a80a 18-Apr-2020 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: add new cards for AX family

add few PCI ID'S for AX family.

Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200418110539.5eae2261b70c.I0369619a562c4e4008e2f0a3afb9ed5d4c9b49d4@changeid


# f4ed93a1 11-Nov-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: remove support for QnJ HR FPGA

We don't support the FPGA versions of this card combination anymore.
Remove the cfg mangling that tries to load it and all the relevant
structures.

Change-Id: I190652101afcab682cfba873d062992f11efca32
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# a72abfca 04-Nov-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: add trans_cfg for devices with long latency

A couple of SoCs, which can be recognized by PCI device IDs 0xA0F0 and
0x43F0, need a longer wait for the xtal to stabilize. To handle this,
add a new trans_cfg structure for Qu devices with a larger
xtal_latency value and apply them to the devices recognized by these
IDs. Also add a flag that allows us to inform the FW that the low
latency xtal should be used.

Change-Id: I8a14c6af45ea14d8e7f1ef38a589158f38d0c0ea
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 68ceba3f 04-Nov-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: remove unnecessary cfg mangling for Qu C and QuZ with Jf

Now that we identify the correct cfgs with the new tables for Qu step
C and QuZ with Jf, we can remove the mangling we do later on.

Change-Id: Ic01ce67db147e897ad2424f0e05a70a00d2c620e
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 612509d6 04-Nov-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: convert QnJ with Jf devices to new config table

All the QnJ devices have a similar matching to the other Qu devices,
but needs a different configuration. Convert the QnJ devices to the
new table accordingly.

Change-Id: If236ef3d0da3e605a3379922818f5897e0affd7e
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 32ed101a 04-Nov-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: convert all Qu with Jf devices to the new config table

Add new generic iwl_trans structures for these devices and apply the
correct cfg depending on the device characteristics.

Since we have to match Qu with IWL_CONFIG_ANY, we also need to move
the Hr devices to the new table, but for now we keep matching on PCI
device and subsystem device IDs.

Change-Id: I14e9146a99621ff11ce50bc746a4b88af508fee0
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# be2f6886 04-Nov-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: add HW step to new cfg device table

We need to use different firmware versions for different HW steps with
certain devices. Prepare for this differentiation by adding HW step
to the new device table.

Change-Id: Ib1afb7b0c89e9dc2d26e6d32ea19e978c17ba1dd
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 7897dfa2 03-Nov-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: move integrated, extra_phy and soc_latency to trans_cfg

These values are selected based on the PCI device ID, so the decision
to use them can be made early. By moving them to the trans_cfg, we
avoid duplicating the large cfg structs for small pieces of
data (sometimes a single boolean). This will also allow us to make
more decisions based on, for instance, the SoC type in used.

The trans_cfg concept changes a bit, because previously it was used
only to boot the device before reading further characteristics and now
it also contains more data that is associated with the device ID.

Change-Id: Ib71b07ea9e322eb74571dc5e8aa58f17eece5c9c
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 1454edca 04-Nov-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: remove redundant iwl9560_2ac_cfg struct

The iwl9560_2ac_cfg struct is used for PNJ devices and the
configuration is the same as iwl9260_2ac_cfg, so we can remove the
former to avoid redundancy.

Change-Id: I17ac1802f00bd80006930b922a9fc21df60e3c16
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# cf52c8a7 16-Mar-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: add 0x2526/0x401* devices back to cfg detection

Three devices, with PCI device ID 0x2526 and subdevice IDs 0x4010,
0x4018 and 0x401C were removed accidentally. Add them back.

Reported-by: Brett Hassal <brett.hassal@gmail.com>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=206661
Fixes: 0b295a1eb81f ("iwlwifi: add device name to device_info")
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/iwlwifi.20200317123331.16762b29f26c.I928bcaa799e7b3d33838c0667714eeb9fa665290@changeid


# 5e003982 09-Mar-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: move AX200 devices to the new table

Move the AX200 devices to the new table and add the appropriate cfg
struct and strings.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200309091348.fdfa5f31b8b1.Idfd28829d9f3820de06d3bba8fa66048b8d0d0b0@changeid


# 2edf602d 09-Mar-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: move shared clock entries to new table

These devices can now also be fully differentiated by using the new
parameters. Move them all to the new table format.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200309091348.11c65d195677.I8faf50b325282df4892520a3b21fbdedabbb64f0@changeid


# c8685937 09-Mar-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: move pu devices to new table

All the pu devices can now be differentiated using the new
parameters, so move them all to the new tables accordingly.

This also includes removal of a few deprecated IDs and redundant cfg
structs.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200309091348.e7dc61e665f3.I44dcf9195bb8cc9e8c8e3e87182e9185c819a99d@changeid


# f19b0f76 09-Mar-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: remove 9260 devices with 0x1010 and 0x1210 subsytem IDs

These devices don't exist anymore, so remove them from the tables.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200309091348.fef62aa45887.I302e32b7cfff7da0d920547fae60ad9f2296e052@changeid


# 55cf5fb9 09-Mar-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: convert the 9260-1x1 device to use the new parameters

The 9260-1x1 device can be differentiated using the PCI device ID.
There is a single occurrence of this device, so continue relying on
the device and subsystem device IDs.

The name of this device was incorrect, so add a new string
specifically for it.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200309091348.4d74e1be7cac.Id27bd9c878b73cb771691cbe6082fd40e079b44d@changeid


# fe25b151 09-Mar-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: move TH1 devices to the new table

TH1 devices can now be fully differentiated by using the device
parameters we have (particularly the RF_TYPE). Start using these
parameters instead of hardcoding to specific subsystem device IDs.

This also fixes the name of one of the TH1 devices that was
erroneously using the 9260 struct and renames 9160 to 9162.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200309091348.18d4304b5454.Ib168d186da88393e9ec46f0fca523edb48d9138e@changeid


# b200dba7 09-Mar-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: map 9461 and 9462 using RF type and RF ID

These devices can be differentiated depending on the RF type and RF
ID. Change them to use these instead of relying on the subsystem
device IDs.

This also fixes some names that were not including 160MHz (as they
should).

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200309091348.345de1efb3ec.Ib9221027a955188ea7c1ffca8a45bccd6c1e6a13@changeid


# f673a193 09-Mar-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: add Pu/PnJ/Th device values to differentiate them

Pu, PnJ and Th devices have different combinations of PCI ID, MAC ID
and RF IDs. Use these to differentiate them and choose the correct
configuration.

This also includes a change from using soc cfg's for 0x2526
devices (PnJ/Th), which was incorrect.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200309091348.602bb33528cf.I3acacb07c69ed063c7f1ca78f2dce9b7b4ef3946@changeid


# 95939551 09-Mar-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: add GNSS differentiation to the device tables

Devices that also include a GNSS module have different names, so add a
new device option to differentiate them, according to the values we
have in the modules section of the subsystem device ID.

Additionally, convert the two applicable devices to use this value
instead of hardcoded subsystem IDs.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200309091348.1f958e558d05.I45492bb57cbbeb4cc0ec84313bade4def7377a27@changeid


# d6f2134a 09-Mar-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: add mac/rf types and 160MHz to the device tables

Add MAC ID, RF ID and the bit that tells us whether the device can
handle 160MHz bandwidth to the device struct.

This allows us to chose the correct structure and string depending on
these parameters. Do so for all the 0x2526 devices we already moved
to the new table.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200309091348.a6bef6ee8fe1.I01f7a6f49aa60d2d61633a8a8b859015681eac5b@changeid


# 67eb556d 09-Mar-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: combine 9260 cfgs that only change names

All the 0x2526 devices are now in the new table, so we can start
reusing configurations and adding the strings independently to all of
them, reusing them when possible.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200309091348.88e3d47c42a8.I1bd37ae0d0f9f79732f03badf84d7d063993b73e@changeid


# 56ba371a 09-Mar-2020 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: move the remaining 0x2526 configs to the new table

Now that we have the strings separate from the rest, we can move the
remaining 0x2526 devices to the new table in preparation to reuse the
configs.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200309091348.a7998f8d7507.I4be8776edb8c30416efc184c66f11add5eed06de@changeid


# 0b295a1e 10-Oct-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: add device name to device_info

We have a lot of mostly duplicated data structures that are repeated
only because the device name string is different. To avoid this, move
the string from the cfg to the trans structure and add it
independently from the rest of the configuration to the PCI mapping
tables.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 2a612a60 10-Oct-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: implement a new device configuration table

Add a new device table that contains information that can be checked
at runtime in order to decide which configuration to use. This allows
us to map the full cfg independently from the tran-specific
configuration.

This is the first step in creating the new table. Subsequent patches
will add the possibility of checking different values at runtime in
order to make the decision.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# b3bd6416 10-Oct-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: assume the driver_data is a trans_cfg, but allow full cfg

With the new concept of separating the trans-specific (trans_cfg) data
from the rest of the cfg, we will start mapping only the trans_cfg
part to the PCI device ID/subsystem device ID. So we can assume that
the data passed to the probe function contains the trans_cfg, but
since the full cfg still contains the trans_cfg at the beginning, we
can allow a full cfg to be passed as well. This makes it easier to
convert the existing tables one by one.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 6dece0e9 10-Oct-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: remove CSR registers abstraction

We needed this abstraction for some CSR registers for
IWL_DEVICE_22560, but that has been removed, so we don't need the
abstraction anymore. Remove it.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# b81b7bd0 10-Oct-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: remove some outdated iwl22000 configurations

A few configuration structures were either not referenced anymore or
assigned to devices IDs that were not in use anymore. Remove them.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# c042f0c7 27-Sep-2019 Johannes Berg <johannes.berg@intel.com>

iwlwifi: allocate more receive buffers for HE devices

For HE-capable devices, we need to allocate more receive buffers as
there could be 256 frames aggregated into a single A-MPDU, and then
they might contain A-MSDUs as well. Until 22000 family, the devices
are able to put multiple frames into a single RB and the default RB
size is 4k, but starting from AX210 family this is no longer true.
On the other hand, those newer devices only use 2k receive buffers
(by default).

Modify the code and configuration to allocate an appropriate number
of RBs depending on the device capabilities:

* 4096 for AX210 HE devices, which use 2k buffers by default,
* 2048 for 22000 family devices which use 4k buffers by default,
* 512 for existing 9000 family devices, which doesn't really
change anything since that's the default before this patch,
* 512 also for AX210/22000 family devices that don't do HE.

Theoretically, for devices lower than AX210, we wouldn't have to
allocate that many RBs if the RB size was manually increased, but
to support that the code got more complex, and it didn't really
seem necessary as that's a use case for monitor mode only, where
hopefully the wasted memory isn't really much of a concern.

Note that AX210 devices actually support bigger than 12-bit VID,
which is required here as we want to allocate 4096 buffers plus
some for quick recycling, so adjust the code for that as well.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# db5cce1a 02-Dec-2019 Anders Kaseorg <andersk@mit.edu>

Revert "iwlwifi: assign directly to iwl_trans->cfg in QuZ detection"

This reverts commit 968dcfb4905245dc64d65312c0d17692fa087b99.

Both that commit and commit 809805a820c6445f7a701ded24fdc6bbc841d1e4
attempted to fix the same bug (dead assignments to the local variable
cfg), but they did so in incompatible ways. When they were both merged,
independently of each other, the combination actually caused the bug to
reappear, leading to a firmware crash on boot for some cards.

https://bugzilla.kernel.org/show_bug.cgi?id=205719

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Acked-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>


# 17c216ed 19-Oct-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: 0x2720 is qu and 0x30DC is not

When converting the wrong qu configurations in an earlier commit, I
accidentally swapped 0x2720 and 0x30DC. Instead of converting 0x2720,
I converted 0x30DC. Undo 0x30DC and convert 0x2720.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>


# e5589015 19-Oct-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: fix all 9460 entries for qnj

A bunch of the entries for qnj were wrong. The 9460 device doesn't
exist, so update them to 9461 and 9462. There are still a bunch of
other occurrences of 9460, but that will be fixed separately.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>


# 6dea7da7 19-Oct-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: fix PCI ID 0x2720 configs that should be soc

Some entries for PCI ID 0x2720 were using iwl9260_2ac_cfg, but the
correct is to use iwl9260_2ac_cfg_soc. Fix that.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>


# 7cded565 18-Oct-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: fix merge damage on making QnJ exclusive

Two patches were sent out of order: one removed some conditions from
an if and the other moved the code elsewhere. When sending the patch
that moved the code, an older version of the original code was moved,
causing the "make QnJ exclusive" code to be essentially undone.

Fix that by removing the inclusive conditions from the check again.

Fixes: 809805a820c6 ("iwlwifi: pcie: move some cfg mangling from trans_pcie_alloc to probe")
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>


# aa0cc7dd 08-Oct-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: change qu with jf devices to use qu configuration

There were a bunch of devices with qu and jf that were loading the
configuration with pu and jf, which is wrong. Fix them all
accordingly. Additionally, remove 0x1010 and 0x1210 subsytem IDs from
the list, since they are obviously wrong, and 0x0044 and 0x0244, which
were duplicate.

Cc: stable@vger.kernel.org # 5.1+
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 7d34a7d7 12-Jul-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: always access the trans configuration via trans

Stop accessing the trans configuration via the iwl_cfg structure and
always access it via the iwl_trans structure. This completes the
requirements to disassociate the trans-specific configuration from the
rest of the configuration.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 286ca8eb 12-Jul-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: add a pointer to the trans_cfg directly in trans

Add a pointer to the iwl_trans structure and point it to the trans
part of the cfg. This is the first step in disassociating the trans
configuration from the rest of the configuration.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 7e8258c0 03-Aug-2018 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pass the iwl_config_trans_params when needed

Instead of accessing the iwl_config_trans_params from the cfg that is
stored in the trans struct, pass this structure directly to functions
that need it during trans_alloc. This will be useful to isolate the
elements needed during allocation and pass them separately before the
actual cfg struct is known.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 0c18714a0 02-Aug-2018 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: set iwl_trans->cfg later in the probe function

Instead of setting the cfg to iwl_trans already during allocation, set
it only later when we have had the time to decide which cfg to use.
This is part of the effort to be able to decide the cfg based on HW
revision and RF ID after iwl_trans_alloc() has been called.

For now, since we still have a bunch of code checking the HW revision
and the RF ID, we set iwl_trans->cfg early, even before we decided the
real cfg to use. We only use the trans configuration at this point,
so this is fine for now. In the future, the trans configuration will
be completely independent from the rest of the config structure, so
we'll be able to avoid this.

Additionally, we can't access the PRPH registers in iwl_trans_alloc()
anymore, so move the HW REV C-step check for family 8000 code later to
the probe function as well. This step is probably not necessary, but
if that's the case it should be removed separately later on.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 809805a8 02-Aug-2018 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: move some cfg mangling from trans_pcie_alloc to probe

There were a couple of special handling to find the correct cfg inside
iwl_trans_pcie_alloc(). Move them to iwl_pci_probe() so they're
together with the rest of the decisions.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 79b6c8fe 02-Aug-2018 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: separate elements from cfg that are needed by trans_alloc

In order to be able to select the cfg depending on the HW revision or
on the RF ID, we need to set up the trans before selecting the cfg.
To do so, move the elements from cfg that are needed by
iwl_trans_alloc() to a separate struct at the top of the cfg, so it
can be used by other cfg types as well, before selecting the rest of
the configuration.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# bab3cb92 06-Jun-2019 Emmanuel Grumbach <emmanuel.grumbach@intel.com>

iwlwifi: remove pm_runtime completely

This means:
1) stop calling pm_runtime_resume when starting the hardware
2) removing the unneeded low_power parameter to start / stop hw / fw
transport ops
3) squashing transport functions that are now the same
_iwl_trans_pcie_start_hw / iwl_trans_pcie_start_hw

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# ea74343a 06-Jun-2019 Emmanuel Grumbach <emmanuel.grumbach@intel.com>

iwlwifi: remove the opmode's d0i3 handlers

Remove the now unneeded functions that called those from the
transport layer.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# f60e2750 06-Jun-2019 Emmanuel Grumbach <emmanuel.grumbach@intel.com>

iwlwifi: remove runtime_pm_mode

This is always set to IWL_PLAT_PM_MODE_DISABLED

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 24d2176d 06-Jun-2019 Emmanuel Grumbach <emmanuel.grumbach@intel.com>

iwlwifi: remove the code under IWLWIFI_PCIE_RTPM

This flag should never be set unless integration work with the
platform is done. We don't support any platforms officially and don't
plan to do so in the near future, so we can remove this option
entirely in order to avoid having it enabled by mistake.

This has been marked with "depends on EXPERT", so there shouldn't be
many systems running with it set. And, if there are systems, they
should not be using this flag.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 3596ad2b 06-Jun-2019 Emmanuel Grumbach <emmanuel.grumbach@intel.com>

iwlwifi: trans: remove suspending flag

This is set but never read.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 968dcfb4 29-Aug-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: assign directly to iwl_trans->cfg in QuZ detection

We were erroneously assigning the new configuration to a local
variable cfg, but that was not being assigned to anything, so the
change was getting lost. Assign directly to iwl_trans->cfg instead.

Fixes: 5a8c31aa6357 ("iwlwifi: pcie: fix recognition of QuZ devices")
Cc: stable@vger.kernel.org # 5.2
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>


# b9500577 21-Aug-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: handle switching killer Qu B0 NICs to C0

We need to use a different firmware for C0 versions of killer Qu NICs.
Add structures for them and handle them in the if block that detects
C0 revisions.

Additionally, instead of having an inclusive check for QnJ devices,
make the selection exclusive, so that switching to QnJ is the
exception, not the default. This prevents us from having to add all
the non-QnJ cards to an exclusion list. To do so, only go into the
QnJ block if the device has an RF ID type HR and HW revision QnJ.

Cc: stable@vger.kernel.org # 5.2
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/20190821171732.2266-1-luca@coelho.fi
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# 5a8c31aa 16-Aug-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: fix recognition of QuZ devices

If the HW revision of Qu devices we found is QuZ, then we need to
switch the configuration accordingly in order to use the correct FW.

Add a block of ifs in order do that.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>


# 03a0995c 15-Jul-2019 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: add 3 new IDs for the 9000 series (iwl9260_2ac_160_cfg)

Add a few PCI ID'S for 9000 series.

Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>


# a7d544d6 08-Jul-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: add support for qu c-step devices

Add support for C-step devices. Currently we don't have a nice way of
matching the step and choosing the proper configuration, so we need to
switch the config structs one by one.

Cc: stable@vger.kernel.org
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>


# ffcb60a5 08-Jul-2019 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: add new cards for 9000 and 20000 series

add two new PCI ID's for 9000 and 20000 series

Cc: stable@vger.kernel.org
Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>


# 658521fc 14-Jun-2019 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: change 0x02F0 fw from qu to quz

change the fw of 0x02F0 platform from qu to quz

Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>


# a976bfb4 19-Jun-2019 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: add new cards for 22000 and change wrong structs

add few PCI ID'S for 22000 and chainge few cards structs names

Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>


# d151b0a2 14-Jun-2019 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: add new cards for 22000 and fix struct name

add few PCI ID'S for 22000 and fix the wrong name for one
of the structs

Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>


# 2644f9d0 13-Mar-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: remove unused 0x40C0 PCI device IDs

This device ID and device type was never released, so we can remove it
from the PCI IDs list.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# ef8a9137 04-Mar-2019 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: remove misconfigured pci ids from 22260 series

Two of the PCI ID entries for the 22260 series were incorrectly using
the subsystem vendor ID (which we ignore) as the PCI device ID. This is
obviously wrong and can be simply removed since we already have the
correct entries in the list.

Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# cf5d5663 22-Jan-2019 Greg Kroah-Hartman <gregkh@linuxfoundation.org>

iwlwifi: pcie: no need to check return value of debugfs_create functions

When calling debugfs functions, there is no need to ever check the
return value. The function can work or not, but the code logic should
never do something different based on this.

Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Cc: Luca Coelho <luciano.coelho@intel.com>
Cc: Intel Linux Wireless <linuxwifi@intel.com>
Cc: Kalle Valo <kvalo@codeaurora.org>
Cc: linux-wireless@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 972d8e13 24-Feb-2019 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: add new 0x2723/0x2080 card for 22000

add new PCI ID 0x2723/0x2080 for 22000 series

Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 0d5bad14 24-Feb-2019 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: rename structs to fit the new names

rename few structs to fit the new marketing names

Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 085486de 03-Feb-2019 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: add new cards for 22000 and killer series and change the market name

Add a few PCI ID'S for 22000 and killer series in addition to
chainging the marketing name.

Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 3941310c 04-Feb-2019 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: add new card for 9260 series

Add one PCI ID for 9260 series.

CC: <stable@vger.kernel.org> # 4.14+
Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 81edb6ad 14-Jan-2019 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: start using B-step for some 9000 devices

We don't support A-step for some device combinations anymore. So
change them to use B-step, renaming and reorganizing the config
structures. Additionally, fix one device that was using the wrong
configuration.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# ff911dca 19-Nov-2018 Shaul Triebitz <shaul.triebitz@intel.com>

iwlwifi: introduce device family AX210

Add new device family AX210.
Make the needed changes for this family.

Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 98f0d01a 20-Nov-2018 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: update product name for 9260 and 9560

update the product name for the some of the cards from
the series of 9260 and 9560

Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 5b74a936 05-Aug-2018 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: add new cards for 22560, 9260 and killer series

add few PCI ID'S for 22560, 9260 and killer series.

Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# a98e2802 05-Aug-2018 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: correct one of the PCI struct names

One of the cfg struct names is mistakenly "iwl22000", when it should
be "iwl22560".

Chage-Id: If9fbfa4bceef81d028c90c98d47115fbe39da547
Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Fixes: 2f7a3863191a ("iwlwifi: rename the temporary name of A000 to the official 22000")
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 8093bb6d 25-Sep-2018 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: add PCI IDs for the 22260 device series

Add new structs and PCI IDs for 22260 devices.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# b1bbc1a6 04-Aug-2018 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: fix cfg structs for 22000 with different RF modules

We have to choose different configuration and different firmwares
depending on the external RF module that is installed. Since the
external module is not represented in the PCI IDs, we need to change
the configuration at runtime, after checking the RF ID of the module
installed. We have a bit of a mess in the code that does this,
because it applies cfg's according to the RF ID only, ignoring the
integrated module that is in use.

Fix that for some devices by adding correct configurations for them
and not ignoring the integrated module's type when making the
decision.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# f108703c 31-Jul-2018 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: add new cards for 9560, 9462, 9461 and killer series

add few PCI ID'S for 9560, 9462, 9461 and killer series.

Cc: stable@vger.kernel.org
Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# ab27926d 15-Aug-2018 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: fix devices with PCI Device ID 0x34F0 and 11ac RF modules

The devices with PCI device ID 0x34F0 are part of the SoC and can be
combined with some different external RF modules. The configuration
for these devices should reflect that, but are currently mixed up. To
avoid confusion with discrete devices, add part of the firmware to be
used and the official name of the device to the cfg structs.

This is least reorganization possible (without messing things even
more) that could be done as a bugfix for this SoC. Further
reorganization of this code will be done separately.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 754f890a 24-Aug-2018 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: remove all occurrences of the FSF address paragraph

The Free Software Foundation address is superfluous and causes
checkpatch to issue a warning when present. Remove all paragraphs
with FSF's address to prevent that.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 2b2654b8 25-Jul-2018 Bjorn Helgaas <bhelgaas@google.com>

iwlwifi: Remove unnecessary include of <linux/pci-aspm.h>

This part of the iwlwifi driver doesn't need anything provided by
pci-aspm.h, so remove the unnecessary include of it.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Sinan Kaya <okaya@kernel.org>
Acked-by: Luca Coelho <luciano.coelho@intel.com>


# f98ad635 13-Mar-2018 Emmanuel Grumbach <emmanuel.grumbach@intel.com>

iwlwifi: pcie: don't access periphery registers when not available

The periphery can't be accessed before we set the
INIT_DONE bit which initializes the device.

A previous patch added a reconfiguration of the MSI-X
tables upon resume, but at that point in the flow,
INIT_DONE wasn't set. Since the reconfiguration of the
MSI-X tables require periphery access, it failed.

The difference between WoWLAN and without WoWLAN is that
in WoWLAN, iwl_trans_pcie_d3_suspend clears the INIT_DONE
without clearing the STATUS_DEVICE_ENABLED bit in the
software status. Because of that, the resume code thinks
that the device is enabled, but the INIT_DONE bit has been
cleared.

To fix this, don't reconfigure the MSI-X tables in case
WoWLAN is enabled. It will be done in
iwl_trans_pcie_d3_resume anyway.

Fixes: 52848a79b9d2 ("iwlwifi: pcie: reconfigure MSI-X HW on resume")
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# bfdbe132 26-Jul-2018 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: add a bunch of PCI IDs for 22000 and 22560

Add some missing PCI IDs for 22000 and 22560 devices.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 33708052 24-Jun-2018 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: add support for 22560 devices

Add support for the new 22560 family of devices and, while at it,
reorganize the 22000 family so it fits better with the new one.

Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 0a5257bc 17-Jul-2018 Emmanuel Grumbach <emmanuel.grumbach@intel.com>

iwlwifi: add more card IDs for 9000 series

Add new device IDs for the 9000 series.

Cc: stable@vger.kernel.org # 4.14
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>


# 0513c083 27-May-2018 Golan Ben Ami <golan.ben.ami@intel.com>

iwlwifi: add csr configuration for 6300 devices

Recently we have switched the csr addresses and values configuration
from a single configuration to all devices to a per-device configuration.
Doing that, the configuration for 6300 devices wasn't set.
This missing definition introduced a kernel panic once trying to access
the csr's.

Add the missing 6300 csr configuration.

While at it, add a checker that the csr values were indeed
configured, and bail out more gracefully if not.

Fixes: a8cbb46f831d ("iwlwifi: allow different csr flags for different device families")
Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 9e5053ad 28-Mar-2018 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: add a bunch of new 9000 PCI IDs

A lot of new PCI IDs were added for the 9000 series. Add them to the
list of supported PCI IDs.

Cc: stable@vger.kernel.org # 4.13+
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 86a2b204 21-Feb-2018 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: add shared clock PHY config flag for some devices

Some devices use a shared clock which is very sensitive to variations
and cause trouble in some situations. We need to set a bit in the phy
configuration to indicate that to the FW. To make this generic, add a
extra_phy_config_flags element to the device configuration and OR it
into the phy_cfg before sending it to the firmware. And also create a
set of configurations for devices that use shared clocks and need this
extra bit to be set.

Fixes: c62446d2b028 ("iwlwifi: add new 9460 series PCI IDs")
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 567deca8 16-Nov-2017 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: add new cards for 9260 and 22000 series

add 1 PCI ID for 9260 series and 1 for 22000 series.

Cc: stable@vger.kernel.org
Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 2f7a3863 15-Nov-2017 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: rename the temporary name of A000 to the official 22000

The family name A000 was just a place-holder when we didn't know what
the official name would be yet. Now we know that the family name is
22000, so rename all occurrences accordingly.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# dbc89253 15-Nov-2017 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: fix PCI IDs and configuration mapping for 9000 series

A lot of PCI IDs were missing and there were some problems with the
configuration and firmware selection for devices on the 9000 series.
Fix the firmware selection by adding files for the B-steps; add
configuration for some integrated devices; and add a bunch of PCI IDs
(mostly for integrated devices) that were missing from the driver's
list.

Without this patch, a lot of devices will not be recognized or will
try to load the wrong firmware file.

Cc: stable@vger.kernel.org # 4.13
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 57b36f7f 24-Oct-2017 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: add new cards for a000 series

add four new PCI ID'S for a000 series

Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 7cddbef4 24-Oct-2017 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: add new cards for 8265 series

add two new PCI ID'S for 8265 series

Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# d669fc2d 24-Oct-2017 Ihab Zhaika <ihab.zhaika@intel.com>

iwlwifi: add new cards for 8260 series

add three new PCI ID'S for 8260 series

Signed-off-by: Ihab Zhaika <ihab.zhaika@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 1105a337 12-Oct-2017 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: sort IDs for the 9000 series for easier comparisons

It's hard to find values that are missing in the list, so sorting the
values and comparing them makes it much easier. To simplify this
task, sort the devices in the list.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# f2abcfa6 28-Sep-2017 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: remove dflt_pwr_limit from the transport

The default power limit read from the SPLC method in ACPI doesn't
have anything to do with the transport and is only used in the opmode,
so we can remove it from the trans. Additionally, this value is only
user when the opmode is starting, so we don't need to store it
anywhere.

Remove the dflt_pwr_limit element from the trans and move call to
iwl_acpi_get_pwr_limit() call to mvm.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 1184611e 28-Sep-2017 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: acpi: move code that reads SPLC to acpi

Move most of the set_dflt_pwr_limit() function to acpi.c and make it
return the pwr_limit value instead of setting directly. Also rename
it to iwl_acpi_get_pwr_limit().

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# d953cdb8 26-Sep-2017 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: acpi: remove a couple of unnecessary ifdefs

Some of the #ifdef CONFIG_ACPI are not needed anymore, so they can be
removed.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 45a5c6f6 21-Sep-2017 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: acpi: use iwl_acpi_get_wifi_pkg when reading reading SPLC

Instead of finding the wifi package with its own code, we can reuse
the new iwl_acpi_get_wifi_pkg() function when reading the default
power limit from SPLC.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 1c73acf5 21-Sep-2017 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: acpi: move ACPI method definitions to acpi.h

Instead of defining each method where they are used and re-defining
WIFI_DOMAIN in each one of them, move all the definitions to a central
place and define the domain only a single time.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 813df5ce 18-Sep-2017 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: acpi: add common code to read from ACPI

There are many places where the same process of invoking a method from
ACPI is used, causing a lot of duplicate code. To improve this,
introduce a new function to get an ACPI object by invoking an ACPI
method that can be reused.

Additionally, since this function needs to be called when we only have
the trans, the opmode or the device, introduce a new debug macro that
gets the device as a parameter so it can be used in the new function.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# d048b36b 31-Aug-2017 Oren Givon <oren.givon@intel.com>

iwlwifi: add a new a000 device

Add a new a000 device with PCI ID (0x2720, 0x0030).

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# f7f5873b 28-Aug-2017 Oren Givon <oren.givon@intel.com>

iwlwifi: fix wrong struct for a000 device

The PCI ID (0x2720, 0x0070) was set with the config struct
iwla000_2ax_cfg_hr instead of iwla000_2ac_cfg_hr_cdb.

Fixes: 175b87c69253 ("iwlwifi: add the new a000_2ax series")
Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 3f7a5e13 15-Aug-2017 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pci: add new PCI ID for 7265D

We have a new PCI subsystem ID for 7265D. Add it to the list.

Cc: stable@vger.kernel.org
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 5f19d6dd 25-Jul-2017 Tzipi Peres <tzipi.peres@intel.com>

iwlwifi: distinguish different RF modules in A000 devices

Newer versions of A000 devices come with two diffenent RF modules.
The PCI_ID, the subsystem ID and the RF ID are identical in these two cases,
so we need to differentiate them by using the CSR_HW_RF_ID register-
in order to load the appropriate firmware.

Signed-off-by: Tzipi Peres <tzipi.peres@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 9ad8fd0b 20-Jun-2017 Johannes Berg <johannes.berg@intel.com>

iwlwifi: pcie: rename iwl_trans_check_hw_rf_kill() to pcie

Rename this function to the more appropriate iwl_pcie_check_hw_rf_kill()
since it's only a function in the pcie code and cannot be called from
any other place.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 558f479f 30-Jul-2017 Tzipi Peres <tzipi.peres@intel.com>

iwlwifi: add the new 9000 series PCI IDs

Add two PCI IDs for the 9160 series.
Add five PCI IDs for the 9260 series.
Add one PCI IDs for the 9270 series.
Add seven PCI IDs for the 9460 series.
Add five PCI IDs for the 9560 series.

Signed-off-by: Tzipi Peres <tzipi.peres@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 52848a79 19-Jun-2017 Johannes Berg <johannes.berg@intel.com>

iwlwifi: pcie: reconfigure MSI-X HW on resume

When going into suspend, the HW configuration for MSI-X will
likely be lost. As a consequence, after waking up, all IRQ
causes will be mapped to interrupt 0, and as a consequence we
don't notice the interrupt because in most cases this is an
interrupt for a queue, and getting it doesn't read the other
cause registers.

Fixes: 2e5d4a8f61dc ("iwlwifi: pcie: Add new configuration to enable MSIX")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 3b37f4c9 30-May-2017 Johannes Berg <johannes.berg@intel.com>

iwlwifi: unify external & internal modparam names

Where possible (all except for "11n_disable", which isn't valid in C)
rename the internal names for module parameters to be the same as the
externally visible names, to aid finding their use etc.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 4e37b063 22-May-2017 Tzipi Peres <tzipi.peres@intel.com>

iwlwifi: add twelve new 9560 series PCI IDs

Add twelve new PCI IDs for the 9560 series.

Signed-off-by: Tzipi Peres <tzipi.peres@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 175b87c6 21-May-2017 Tzipi Peres <tzipi.peres@intel.com>

iwlwifi: add the new a000_2ax series

Add a new config struct for the new a000 2ax series and add
the five PCI ID for it.

Signed-off-by: Tzipi Peres <tzipi.peres@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 326477e4 25-Apr-2017 Johannes Berg <johannes.berg@intel.com>

iwlwifi: pcie: don't report RF-kill enabled while shutting down

When toggling the RF-kill pin quickly in succession, the driver can
get rather confused because it might be in the process of shutting
down, expecting all commands to go through quickly due to rfkill,
but the transport already thinks the device is accessible again,
even though it previously shut it down. This leads to bugs, and I
even observed a kernel panic.

Avoid this by making the PCIe code only report that the radio is
enabled again after the higher layers actually decided to shut it
off.

This also pulls out this common RF-kill checking code into a common
function called by both transport generations and also moves it to
the direct method - in the internal helper we don't really care
about the RF-kill status anymore since we won't report it up until
the stop anyway.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# a85281eb 12-Mar-2017 Sara Sharon <sara.sharon@intel.com>

iwlwifi: update device ID for a000 family

Three configurations will share device ID 2720, and will
be differentiated by RF ID.

Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 386f4936 22-Jan-2017 Sara Sharon <sara.sharon@intel.com>

iwlwifi: support a000 CDB product

Identify and load FW for a000 CDB product.

Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# f2758893 12-Feb-2017 Tzipi Peres <tzipi.peres@intel.com>

iwlwifi: add four new 8265 and 8275 series PCI IDs

Add one new PCI ID for the 8265 series.
Add three new PCI ID for the 8275 series.

Signed-off-by: Tzipi Peres <tzipi.peres@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 63f231fe 27-Dec-2016 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: remove support for deprecated RF

One of the RF modules we support has been deprecated and never
released publicly. Remove support for this module.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 23aeea94 13-Dec-2016 Johannes Berg <johannes.berg@intel.com>

iwlwifi: pcie: fix another RF-kill race

When resuming, it's possible for the following scenario to occur:

* iwl_pci_resume() enables the RF-kill interrupt
* iwl_pci_resume() reads the RF-kill state (e.g. to 'radio enabled')
* RF_KILL interrupt triggers, and iwl_pcie_irq_handler() reads the
state, now 'radio disabled', and acquires the &trans_pcie->mutex.
* iwl_pcie_irq_handler() further calls iwl_trans_pcie_rf_kill() to
indicate to the higher layers that the radio is now disabled (and
stops the device while at it)
* iwl_pcie_irq_handler() drops the mutex
* iwl_pci_resume() continues, acquires the mutex and calls the higher
layers to indicate that the radio is enabled.

At this point, the device is stopped but the higher layers think it's
available, and can call deeply into the driver to try to enable it.
However, this will fail since the device is actually disabled.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 5594d80e 23-Nov-2016 Sara Sharon <sara.sharon@intel.com>

iwlwifi: support two phys for a000 devices

Support differentiating between two phys for a000 devices
in order to load the correct firmware.
Eventually when moving completely to the new phy we will be
able to remove this.

Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 49060383 13-Dec-2016 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: remove unnecessary argument to iwl_drv_start()

When iwl_drv_start() is called, trans->cfg must already be set, so
there's no need to pass cfg separately, since it can be accessed
directly from trans->cfg.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# e0d9727c 13-Oct-2016 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: fix SPLC structure parsing

The SPLC data parsing is too restrictive and was not trying find the
correct element for WiFi. This causes problems with some BIOSes where
the SPLC method exists, but doesn't have a WiFi entry on the first
element of the list. The domain type values are also incorrect
according to the specification.

Fix this by complying with the actual specification.

Additionally, replace all occurrences of SPLX to SPLC, since SPLX is
only a structure internal to the ACPI tables, and may not even exist.

Fixes: bcb079a14d75 ("iwlwifi: pcie: retrieve and parse ACPI power limitations")
Reported-by: Chris Rorvick <chris@rorvick.com>
Tested-by: Paul Bolle <pebolle@tiscali.nl>
Tested-by: Chris Rorvick <chris@rorvick.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 19116716 08-Sep-2016 Oren Givon <oren.givon@intel.com>

iwlwifi: add two new 9560 series PCI IDs

Add two new PCI IDs for the 9560 series.

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 8b6607cc 25-Aug-2016 Oren Givon <oren.givon@intel.com>

iwlwifi: add new 8265 series PCI ID

Add a new PCI ID for the 8265 series.

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# a3e939df 07-Jul-2016 Oren Givon <oren.givon@intel.com>

iwlwifi: add the new 8275 series

Add a new config struct for the new 8275 series and add
the first PCI ID for it.

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 89e4ad53 07-Jul-2016 Oren Givon <oren.givon@intel.com>

iwlwifi: add the new 9560 series

Add a new config struct for the new 9560 series and add
the 4 new PCI IDs for it.

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# fe4a7249 07-Jul-2016 Oren Givon <oren.givon@intel.com>

iwlwifi: add the new 9170 series

Add a new config struct for the new 9170 series and add
the first PCI ID for it.

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 22ccabf1 07-Jul-2016 Oren Givon <oren.givon@intel.com>

iwlwifi: add the new 9270 series

Add a new config struct for the new 9270 series and add
the first PCI ID for it.

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# c62446d2 07-Jul-2016 Oren Givon <oren.givon@intel.com>

iwlwifi: add new 9460 series PCI IDs

Add 4 more new 9460 series PCI IDs.

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 827e9ab8 26-Jun-2016 Oren Givon <oren.givon@intel.com>

iwlwifi: add a new series 9460 with new PCI ID

Add a new series to the 9000 series called 9460.
In addition, add a new PCI ID that is the 9460 new series.

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 486c96a7 23-Jun-2016 Oren Givon <oren.givon@intel.com>

iwlwifi: rename and reorder 9000 series configuration structs

Rename and reorder the 9000 series configuration structs:
- struct containing configuration of 5165 was renamed to 9000.

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 6f482e37 05-Jul-2016 Sara Sharon <sara.sharon@intel.com>

iwlwifi: move iwl_drv to be shared across transports

All transports has this structure. By moving it to be
shared, we can get rid of casting to the specific transport
in probe and remove.

Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# e34d975e 31-May-2016 Haim Dreyfuss <haim.dreyfuss@intel.com>

iwlwifi: Add a000 HW family support

Add a000 family configuration to iwl-cfg struct

Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# f24bbae5 23-May-2016 Oren Givon <oren.givon@intel.com>

iwlwifi: add new 8265

Add 6 new 8265 series PCI IDs:
- (0x24FD, 0x1130)
- (0x24FD, 0x0130)
- (0x24FD, 0x0910)
- (0x24FD, 0x0930)
- (0x24FD, 0x0950)
- (0x24FD, 0x0850)

CC: <stable@vger.kernel.org> [4.6+]
Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 4b79deec 23-May-2016 Oren Givon <oren.givon@intel.com>

iwlwifi: add new 8260 PCI IDs

Add 3 new 8260 series PCI IDs:
- (0x24F3, 0x10B0)
- (0x24F3, 0xD0B0)
- (0x24F3, 0xB0B0)

CC: <stable@vger.kernel.org> [4.1+]
Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# 1afb0ae4 03-Apr-2016 Haim Dreyfuss <haim.dreyfuss@intel.com>

iwlwifi: allow combining different phy images with mac images

Currently there is one to one function between device id to it's ucode.
The new generation devices allows to combine different phy and mac images.
Now we have two different ucode images with the same device id.
Read RF ID to identify phy image and overwrite it if needed.

Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# aea2a5f0 03-Apr-2016 Haim Dreyfuss <haim.dreyfuss@intel.com>

iwlwifi: Rename 9560 to 9260 and add new PCI IDs for it

Rename 9560 to 9260.
Add new PCI ID for 9260 and change some entries from 5165 to 9260.
Also order the 9000 series.

Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>


# d34475b9 24-Mar-2016 Oren Givon <oren.givon@intel.com>

iwlwifi: add device IDs for the 8265 device

Add new 8265 series PCI IDs.

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# 0e32d590 24-Mar-2016 Oren Givon <oren.givon@intel.com>

iwlwifi: edit the 9000 series PCI IDs

Edit some of the 9560 series and 5165 series PCI IDs.
These devices do not exist yet.

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# 2d3d31b5 15-Mar-2016 Haim Dreyfuss <haim.dreyfuss@intel.com>

iwlwifi: 9000: update device id and FW serial number

Update device id and FW serial number for 2X2 antenna devices
in 9000 generation product. These will not be available on
the market in the coming year.

Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# 5d93f3a2 04-Mar-2016 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: refcounting is not necessary anymore

We don't use the refcount value anymore, all the refcounting is done
in the runtime PM usage_count value. Remove it.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# 4479a899 08-Feb-2016 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: forbid RTPM on device removal

The pci driver keeps any unbound device in active state and forbids
runtime PM. When our driver gets probed, we take control of the
state. When the device is released (i.e. during unbind or module
removal), we should return the state to what it was before. To do so,
we need to forbid RTPM in the driver remove op.

Additionally, remove an unnecessary pm_runtime_disable() call, move
the initial ref_count setting to a better place and add some comments
explaining what is going on.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# 863eac30 01-Dec-2015 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: add pm_prepare and pm_complete ops

With these ops, we can know when we are about to enter system suspend.
This allows us to exit D0i3 state before entering suspend.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# 23ae6128 31-Dec-2015 Matti Gottlieb <matti.gottlieb@intel.com>

iwlwifi: mvm: Do not switch to D3 image on suspend

Currently when the driver is configured with wowlan parameters, and enters
D3 mode, the driver switches the FW image to D3, and when it exists
suspend, it reloads the D0 image.

If the firmware supports the consolidation of the D0 & D3 images there is
no need to load the D3 image on suspend, and no need to reload the D0
image on resume.

Do not switch images on suspend / resume, for firmwares that support
consolidated images.

Signed-off-by: Matti Gottlieb <matti.gottlieb@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# 4cbb8e50 18-Aug-2015 Luciano Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: add RTPM support when wifi is enabled

Enable runtime power management (RTPM) for PCIe devices and implement
the corresponding functions to enable D0i3 mode when the device is
idle.

Additionally, remove some unnecessary #ifdef's because the RTPM code
will not be called if runtime PM is not configured.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# b3ff1270 06-Jan-2016 Luca Coelho <luciano.coelho@intel.com>

iwlwifi: pcie: add initial RTPM support for PCI

Add an initial implementation of runtime power management (RTPM) for
PCI devices. With this patch, RTPM is only used when wifi is off
(i.e. the wifi interface is down). This implementation is behind a
new Kconfig flag, IWLWIFI_PCIE_RTPM.

Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# 9baa0398 21-Jan-2016 Oren Givon <oren.givon@intel.com>

iwlwifi: add device ID for 8265

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# 7b08c67f 21-Jan-2016 Oren Givon <oren.givon@intel.com>

iwlwifi: add new 3168 series devices support

Add new sub-system PCI IDs to the 3168 series.
Added 0x2010, 0x2050 and 0x2150 sub-system IDs.

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# 006bda75 17-Dec-2015 Oren Givon <oren.givon@intel.com>

iwlwifi: update and fix 7265 series PCI IDs

Update and fix some 7265 PCI IDs entries.

CC: <stable@vger.kernel.org> [3.13+]
Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# 8d0e4f8f 17-Dec-2015 Oren Givon <oren.givon@intel.com>

iwlwifi: Update PCI IDs for 8000 and 9000 series

A new PCI IDs update to the 8000 and 9000 series.

type=feature

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# cb2f8277 17-Nov-2015 Emmanuel Grumbach <emmanuel.grumbach@intel.com>

iwlwifi: change the Intel Wireless email address

ilw@linux.intel.com is not available anymore.
linuxwifi@intel.com should be used instead.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# abf10f86 01-Nov-2015 Oren Givon <oren.givon@intel.com>

iwlwifi: Add PCI IDs for the new series 8165

Add a new struct for the 8165 series and a few new
PCI ID entries.

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# c4836b05 01-Nov-2015 Oren Givon <oren.givon@intel.com>

iwlwifi: Add PCI IDs for the new 3168 series

Add a new struct for the 3168 series and a few new
PCI ID entries.

Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# 89374fe6 31-May-2015 Dreyfuss, Haim <haim.dreyfuss@intel.com>

iwlwifi: Add new PCI IDs for 9260 and 5165 series

Add 9000-family configuration to iwl_cfg struct
Add a new struct to define the 5165 series.
Rename the struct that defines the 9000 series to 9260.
Add some new sub-system IDs for the 9260 and 5165 series.
For 9260:
0x0A10, 0x0000, 0x0510, 0x0710, 0x0410, 0x0610.
For 5165:
0x2A10, 0x2010, 0x0310, 0x0210.

Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com>
Signed-off-by: Oren Givon <oren.givon@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# f8a1edb7 11-Nov-2015 Johannes Berg <johannes.berg@intel.com>

iwlwifi: clean up transport debugfs handling

Transport code currently calls itself through the transport ops,
which is quite pointless. Clean up all of this. While at it,
remove the unnecessary dir argument and the redundant IDI code.

In slave transports, call both the common slave debugfs and the
transport's own. SDIO has no files, so remove it all there.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>


# e705c121 17-Nov-2015 Kalle Valo <kvalo@codeaurora.org>

iwlwifi: move under intel vendor directory

Part of reorganising wireless drivers directory and Kconfig.

Signed-off-by: Kalle Valo <kvalo@codeaurora.org>