<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/iwm, branch release/12.3.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F12.3.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F12.3.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2021-01-21T14:39:50Z</updated>
<entry>
<title>iwm(4): Add support for Intel Killer(R) Wireless-AC 1550i</title>
<updated>2021-01-21T14:39:50Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2021-01-14T16:41:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=920d22cca1a2593b3751c39ce9dc250becc31a8c'/>
<id>urn:sha1:920d22cca1a2593b3751c39ce9dc250becc31a8c</id>
<content type='text'>
PR:		252578
Submitted by:	shu &lt;ankohuu@outlook.com&gt;

(cherry picked from commit 90cc8706ccb2da130c0b1a28434a9ec5d4c80d81)
</content>
</entry>
<entry>
<title>MFC r365633:</title>
<updated>2020-11-05T11:56:49Z</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2020-11-05T11:56:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d1a70d4ace07290a4459a6b32c36cd47ac4e6b10'/>
<id>urn:sha1:d1a70d4ace07290a4459a6b32c36cd47ac4e6b10</id>
<content type='text'>
  iwm: fix regression from r365419 (ieee80211_media_change())

  In r365419 ieee80211_media_change() callers were updated to not longer
  act on the obselete ENETRESET return code.
  While in the old days iwm has done a stop/init cycle in these cases,
  this was not executed since r193340.
  As a consequence simplify iwm code as well by passing ieee80211_media_change()
  right to ieee80211_vap_attach() as there is no more need for a local
  implementation.

  The actual problem was fixed in stable/12 since r365608;  this just
  reduces changes to HEAD.

PR:		248955
</content>
</entry>
<entry>
<title>MFC r344749-344750,344841-344843,345284,346405,346470,347140-347141,348331,</title>
<updated>2020-09-10T19:00:17Z</updated>
<author>
<name>Bjoern A. Zeeb</name>
<email>bz@FreeBSD.org</email>
</author>
<published>2020-09-10T19:00:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=15a31d4c1a7da894840315916b3011190cc3e7c7'/>
<id>urn:sha1:15a31d4c1a7da894840315916b3011190cc3e7c7</id>
<content type='text'>
    349593,351868,353506-353507,353809,353853,353858,353860,356852,359063,
    359158,360819,360888,360950-360951,360953-360954,360998,361009,361025,
    361085,361087,361098,361106-361107,361115,361118,361319-361321,361486,
    361560,361566,361626,361636-361637,361687,361726,361737-361738,361768,
    361778,361811-361813,361819-361822,361825-361826,361834,361863-361864,
    361878,361885-361886,362016,362084-362085,362156-362157,362161-362162,
    362210-362213,362216,362256-362257,362671,362815-362816,363325,
    363327-363328,364011-364012,364299,364301,364303,364312,364315,
    364326-364327,364551,364553,364673,365097,365116,365125-365126,
    365130-365131,365198,365419
  by adrian(78), bcran(1), bz(13), cem(1), gavin(1), glebius(6),
     landonf(1), mjg(7)

Merge WiFi net80211, drivers, and management in order to support better 11n
and upcoming 11ac.

This includes an ath(4) update, some run(4) 11n support, 11n for otus(4),
A-MPDU, A-MSDU, A-MPDU+A-MSDU and Fast frames options, scanning fixes,
enahnced PRIV checks for jails, restored parent device name printing,
improvements for upcoming VHT support, lots of under-the-hood infrastructure
improvements, new device ID, debug tools updates, some whistespace changes
(to make future MFCs easier).

This does not include (nost) epoch(9) related changes as too much other
infrastructure was not merged for that.

Bump __FreeBSD_veresion as this changes the priv(9) names (not know to be
used externally), and net80211 structures.

Tested on:	some ath(4) AP, run(4) STA, and rtwn(4) STA
Discussed with:	adrian (extremly briefly)
Sponsored by:	Rubicon Communications, LLC (d/b/a "Netgate") [partially]
Relnotes:	yes
</content>
</entry>
<entry>
<title>MFC r361273: iwm: improve rfkill handling</title>
<updated>2020-06-04T13:03:13Z</updated>
<author>
<name>Andriy Gapon</name>
<email>avg@FreeBSD.org</email>
</author>
<published>2020-06-04T13:03:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fd3dad764ed5ac762f49c94300c08720b6dcc578'/>
<id>urn:sha1:fd3dad764ed5ac762f49c94300c08720b6dcc578</id>
<content type='text'>
Previously the driver handled the bit within itself, but did not expose
the state change to net80211 and interface layers.
This change uses net80211 KPI for rfkill signaling.
The code is modeled after similar code in iwn and wpi.
</content>
</entry>
<entry>
<title>MFC r360373:</title>
<updated>2020-05-04T12:28:44Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2020-05-04T12:28:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=aad24e76133a35fd979e9f15d8820556996b3ae5'/>
<id>urn:sha1:aad24e76133a35fd979e9f15d8820556996b3ae5</id>
<content type='text'>
iwm: Print the command code for any unhandled commands.
</content>
</entry>
<entry>
<title>MFC r355144:</title>
<updated>2019-12-11T14:28:13Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2019-12-11T14:28:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7bb192d7a4b123572c156659774479f2362c2b74'/>
<id>urn:sha1:7bb192d7a4b123572c156659774479f2362c2b74</id>
<content type='text'>
iwm(4): Remove _mvm from the namespace.
</content>
</entry>
<entry>
<title>MFC r355143:</title>
<updated>2019-12-11T14:27:33Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2019-12-11T14:27:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fb3600efd713f41d74323ae7bdadd83d6ba94384'/>
<id>urn:sha1:fb3600efd713f41d74323ae7bdadd83d6ba94384</id>
<content type='text'>
iwm(4): Fix version string formatting.
</content>
</entry>
<entry>
<title>MFC r354201, r354276, r354492-r354517, r354562:</title>
<updated>2019-11-21T00:34:39Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2019-11-21T00:34:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=34a2aea8534a055db3f4113c9cba1a1092b2e24b'/>
<id>urn:sha1:34a2aea8534a055db3f4113c9cba1a1092b2e24b</id>
<content type='text'>
Add firmware images and support for Intel 9000-series devices.
</content>
</entry>
<entry>
<title>MFC r349711:</title>
<updated>2019-07-17T00:27:11Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2019-07-17T00:27:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0924cd31dfc91fc8b8ccc10f05ced574f6b24121'/>
<id>urn:sha1:0924cd31dfc91fc8b8ccc10f05ced574f6b24121</id>
<content type='text'>
iwm: Drain callouts after stopping the device during detach.
</content>
</entry>
<entry>
<title>MFC r343065, r343373-r343390, r343477</title>
<updated>2019-04-08T18:15:10Z</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2019-04-08T18:15:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=18fc94098b97f954a4ae866ed023d3bcc1f8f0df'/>
<id>urn:sha1:18fc94098b97f954a4ae866ed023d3bcc1f8f0df</id>
<content type='text'>
r343065:
With the sync from Dragonfly BSD in r318216 a bug slipped in (also still present
upstream it seems).

The tlv variable was changed to a pointer but the advancement of the data pointer
was left as sizeof(tlv).  While the sizeof the (now) pointer equals the
sizeof 2 x uint32_t (size of the struct) on 64bit platforms, on 32bit platforms
the size of the advancement of the data pointer was wrong leading to
firmware load issues.

Correctly advance the data pointer by the size of the structure and not by
the size of a pointer.

r343373:
if_iwm - Update firmware rs table, instead of indexing the table in tx cmds.

* Rather than providing a non-zero index into the firmware RS table,
we should always use index 0 and update the firmware RS table whenever
our chosen tx rate for data-frames changes.

* Send IWM_LQ_CMD updates when the tx rate gets updated by the net80211
rate control (which is after we tell the tx status to the net80211
rate-control in iwm_mvm_rx_tx_cmd_single()).

* Disregard frames transferred with a different tx rate than the currently
selected rate for the rate-control calculations. This way we avoid
counting management frames (which are sent at a slow, and fixed rate),
as well as frames we added to the tx queue just before a new IWM_LQ_CMD
update took effect.

r343374:
if_iwm - The iwm_prepare_card_hw() in iwm_attach() is only needed on 8K hw.

* Doing the iwm_prepare_card_hw() call in iwm_attach() only on Family 8000
hardware matches the code in Linux iwlwifi.

* While there remove DEFAULT_MAX_TX_POWER definition which is unused, and
has a value different from IWL_DEFAULT_MAX_TX_POWER in iwlwifi.

r343375:
if_iwm - Move iwm_read_firmware() call into iwm_attach().

* We should load the firmware exactly once before the driver really
initializes the hardware the first time, and unload it at detach time.
There is no need to retrieve the firmware during execution of
iwm_mvm_load_ucode_wait_alive(), we should make sure we already have the
firmware data at hand before that.

* The existing sc_preinit_hook code fails to deal with the case where
if_iwm is loaded by the loader (or is statically linked) and the
firmware needs to be loaded from disk. So we can just call
iwm_read_firmware() from iwm_attach() directly.

* A separate solution will have to be added to properly defer the firmware
loading during bootup, until the necessary filesystem is mounted.

r343376:
if_iwm - Check sc-&gt;sc_attached flag in suspend/resume callbacks.

* There is (almost) nothing to do in suspend/resume if if_iwm has failed
during initialization (e.g. because of firmware load failure) and was
already uninitialized by iwm_detach_local().

r343377:
iwm - Reduce gratuitous differences with Linux iwlwifi in struct naming.

* Rename some structs and struct members for firmware handling.

r343378:
if_iwm - Update struct iwm_scan_results_notif. Remove old/unused definitions

* Remove outdated notifications IWM_SCAN_ABORT_CMD,
IWM_SCAN_START_NOTIFICATION and IWM_SCAN_RESULTS_NOTIFICATION.

* Remove unused enum iwm_scan_complete_status.

* Use the updated FW Api version 3 of struct iwm_scan_results_notif.

* No functional change, since struct iwm_scan_results_notif is never
accessed in iwm at the moment.

Taken-From: Linux iwlwifi commits 1083fd7391e989be52022f0f338e9dadc048b063
	and 75118fdb63496e4611ab50380499ddd62b9de69f.

r343379:
if_iwm - Configure the PCIe LTR, fix PCI express capability accesses.

Taken-From: Linux iwlwifi

r343380:
if_iwm - Add firmware API definitions for TX power commands.

* While there remove unused IWM_UCODE_TLV_CAPA_LMAC_UPLOAD definition,
which isn't defined in iwlwifi.

Taken-From: Linux iwlwifi

r343381:
iwm - Track firmware state better, and improve handling in iwm_newstate().

* This avoids firmware resets in all the cases in iwm_newstate(). Instead
iwm_bring_down_firmware() is called, which tears down all the STA
connection state, according to the sc-&gt;sc_firmware_state value.

* Improve the behaviour of the LED blinking a bit, so it only blinks when
there really is a wireless scan going on.

* Print the newstate arg in debug output of iwm_newstate(), to help in
debugging.

This is inspired by the firmware state maintaining change in OpenBSD's iwm,
by stsp@openbsd.org (OpenBSD Git 0ddb056fb7370664b1d4b84392697cb17d1a414a).

r343382:
iwm - Avoid Tx watchdog timeout, when dropping a connection.

r343383:
iwm - Improve firmware Time Event handling.

* This is a mix of the OpenBSD Git 7fd9664469d1b717a307eebd74aeececbd3c41cc
change, and syncing with the Linux iwlwifi code.

Taken-From: Linux iwlwifi, and OpenBSD

r343384:
iwm - Clear Time Event active state, when receiving End Notification.

* This hopefully avoids some firmware panics, I was occasionally seeing,
when iwm disconnects upon losing signal to an access point at some point.

* This is synchronizing the if_iwm_time_event.c file a bit more from the
corresponding Linux iwlwifi/mvm/time-event.c.

Taken-From:     Linux iwlwifi

r343385:
iwm - Always clear watchdog timer, when bringing down firmware state.

r343386:
if_iwm - Stop iwm_watchdog callout when idle.

r343387:
iwm - Fix race during detach, where a callout is left after driver is gone.

r343388:
iwm - Update alive response handling, add v4 and remove old versions.

r343389:
iwm - Remove unused REPLY_MAX

Taken-From: Linux git e4eb275ac5cfe71686612d929a9829345b2a4ada

r343390:
iwm - Remove unused TX_CMD_NEXT_FRAME_*

Taken-From: Linux git b1e06c65fb69c5e3fddcd91987561e225eaa9bfa

r343477:
Fix logic errors in iwm_pcie_load_firmware_chunk introduced in r314065.

 * There's no reason to have a while() loop here, because:
    - if msleep returns 0, that means we were woken up by the interrupt handler,
      and we are going to exit immediately as sc_fw_chunk_done will now be 1
      (there is nothing else that sleeps on sc_fw.)
    - if msleep doesn't return 0 (i.e. it returned ETIMEDOUT) then we will
      exit immediately because of the if-test.
   So, just use a single msleep() and then check sc_fw_chunk_done as before.
 * The comment said we were sleeping for 5 seconds, but the msleep was only
   for 1. Before r314065, this was 1 second and so was the comment,
   and in that commit the comment was changed and the function call wasn't.

Possibly fixes failures to initialize uCode on certain devices.

PR:		219683
</content>
</entry>
</feed>
