- 25 5月, 2018 40 次提交
-
-
由 Daniel Mack 提交于
In reap_tx_dxes(), when we iterate over the linked descriptors, only consider such valid that have WCN36xx_DXE_CTRL_EOP set. This is what the prima downstream driver is doing as well. Signed-off-by: NDaniel Mack <daniel@zonque.org> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Daniel Mack 提交于
On RX and TX interrupts, check for the WCN36XX_CH_STAT_INT_ED_MASK or WCN36XX_CH_STAT_INT_DONE_MASK in the interrupt reason register, and only handle packets when it is set. This way, reap_tx_dxes() is only invoked when needed. This brings the dequeing logic in line with what the prima downstream driver is doing. While at it, also log the interrupt reason. Signed-off-by: NDaniel Mack <daniel@zonque.org> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Daniel Mack 提交于
Like on the TX side, check for the interrupt reason when the RX interrupt is latched and clear the ERR, DONE and ED masks. This seems to help with connection timeouts and network stream starvatations. And FWIW, the downstream driver does the same thing. Note that in analogy to the TX side, WCN36XX_DXE_0_INT_CLR should be set to WCN36XX_INT_MASK_CHAN_RX_{L,H} rather than WCN36XX_DXE_INT_CH{1,3}_MASK. It did the right thing however, as the defines happen to have identical values. Also, instead of determining register addresses and values inside wcn36xx_rx_handle_packets(), pass them as arguments. Signed-off-by: NDaniel Mack <daniel@zonque.org> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Daniel Mack 提交于
There's no need to disable the IRQ from inside its handler. Instead just grab the spinlock of the channel that is being processed. Signed-off-by: NDaniel Mack <daniel@zonque.org> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Daniel Mack 提交于
The device takes 32-bit addresses only, so inform the DMA API about it. This is the default on msm8016, so that doesn't change anything, but it's best practice to be explicit. Signed-off-by: NDaniel Mack <daniel@zonque.org> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Daniel Mack 提交于
When wcn36xx_dxe_tx_frame() is entered while the device is still processing the queue asyncronously, we are racing against the firmware code with updates to the buffer descriptors. Presumably, the firmware scans the ring buffer that holds the descriptors and scans for a valid control descriptor, and then assumes that the next descriptor contains the payload. If, however, the control descriptor is marked valid, but the payload descriptor isn't, the packet is not sent out. Another issue with the current code is that is lacks memory barriers before descriptors are marked valid. This is important because the CPU may reorder writes to memory, even if it is allocated as coherent DMA area, and hence the device may see incompletely written data. To fix this, the code in wcn36xx_dxe_tx_frame() was restructured a bit so that the payload descriptor is made valid before the control descriptor. Memory barriers are added to ensure coherency of shared memory areas. Signed-off-by: NDaniel Mack <daniel@zonque.org> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 YueHaibing 提交于
clk_disable_unprepare() already checks that the clock pointer is valid. No need to test it before calling it. Signed-off-by: NYueHaibing <yuehaibing@huawei.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. The CTL mappings for this regdomain code were now changed to: * 2.4GHz: ETSI * 5GHz: NO_CTL -> ETSI Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. The CTL mappings for this regdomain code were now changed to: * 2.4GHz: ETSI * 5GHz: NO_CTL -> ETSI Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. The CTL mappings for this regdomain code were now changed to: * 2.4GHz: ETSI * 5GHz: ETSI -> FCC Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. The CTL mappings for this regdomain code were now changed to: * 2.4GHz: ETSI * 5GHz: NO_CTL -> ETSI Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. The CTL mappings for this regdomain code were now changed to: * 2.4GHz: ETSI * 5GHz: NO_CTL -> ETSI Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. This change itself doesn't change the selected CTL of this country and is only required to stay in sync with the QCA mappings. Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. This change itself doesn't change the selected CTL of this country and is only required to stay in sync with the QCA mappings. Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. This change itself doesn't change the selected CTL of this country and is only required to stay in sync with the QCA mappings. Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. The CTL mappings for this regdomain code were now changed to: * 2.4GHz: ETSI * 5GHz: ETSI -> FCC Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. The CTL mappings for this regdomain code were now changed to: * 2.4GHz: ETSI * 5GHz: NO_CTL -> ETSI Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. The CTL mappings for this regdomain code were now changed to: * 2.4GHz: ETSI * 5GHz: NO_CTL -> ETSI Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. The CTL mappings for this regdomain code were now changed to: * 2.4GHz: ETSI * 5GHz: NO_CTL -> FCC Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. This change itself doesn't change the selected CTL of this country and is only required to stay in sync with the QCA mappings. Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. This change itself doesn't change the selected CTL of this country and is only required to stay in sync with the QCA mappings. Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. This change itself doesn't change the selected CTL of this country and is only required to stay in sync with the QCA mappings. Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. The CTL mappings for this regdomain code were now changed to: * 2.4GHz: ETSI * 5GHz: FCC -> ETSI Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. The CTL mappings for this regdomain code were now changed to: * 2.4GHz: ETSI * 5GHz: NO_CTL -> FCC Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. This change itself doesn't change the selected CTL of this country and is only required to stay in sync with the QCA mappings. Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. The CTL mappings for this regdomain code were now changed to: * 2.4GHz: ETSI * 5GHz: NO_CTL -> ETSI Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't correctly mapped to the actual CTL entries in EEPROM then it could happen that the device violates the regulations. But it can also happen that the device is then not able to be used with its full txpower on all rates. The CTL mappings for this regdomain code were now changed to: * 2.4GHz: ETSI * 5GHz: NO_CTL -> ETSI Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with: Invalid EEPROM contents The current CTL mappings for this regdomain code are: * 2.4GHz: ETSI * 5GHz: FCC Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with: Invalid EEPROM contents The current CTL mappings for this regdomain code are: * 2.4GHz: ETSI * 5GHz: ETSI Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with: Invalid EEPROM contents The current CTL mappings for this regdomain code are: * 2.4GHz: ETSI * 5GHz: ETSI Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with: Invalid EEPROM contents The current CTL mappings for this regdomain code are: * 2.4GHz: ETSI * 5GHz: ETSI Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The regdomain code is used to select the correct the correct conformance test limits (CTL) for a country. If the regdomain code isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with: Invalid EEPROM contents The current CTL mappings for this regdomain code are: * 2.4GHz: FCC * 5GHz: FCC Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The country code is used by the ath to detect the ISO 3166-1 alpha-2 name and to select the correct conformance test limits (CTL) for a country. If the country isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with: Invalid EEPROM contents The current CTL mappings for this country are: * 2.4GHz: ETSI * 5GHz: FCC Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The country code is used by the ath to detect the ISO 3166-1 alpha-2 name and to select the correct conformance test limits (CTL) for a country. If the country isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with: Invalid EEPROM contents The current CTL mappings for this country are: * 2.4GHz: ETSI * 5GHz: FCC Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The country code is used by the ath to detect the ISO 3166-1 alpha-2 name and to select the correct conformance test limits (CTL) for a country. If the country isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with: Invalid EEPROM contents The current CTL mappings for this country are: * 2.4GHz: ETSI * 5GHz: ETSI Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The country code is used by the ath to detect the ISO 3166-1 alpha-2 name and to select the correct conformance test limits (CTL) for a country. If the country isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with: Invalid EEPROM contents The current CTL mappings for this country are: * 2.4GHz: ETSI * 5GHz: FCC Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The country code is used by the ath to detect the ISO 3166-1 alpha-2 name and to select the correct conformance test limits (CTL) for a country. If the country isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with: Invalid EEPROM contents The current CTL mappings for this country are: * 2.4GHz: FCC * 5GHz: FCC Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The country code is used by the ath to detect the ISO 3166-1 alpha-2 name and to select the correct conformance test limits (CTL) for a country. If the country isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with: Invalid EEPROM contents The current CTL mappings for this country are: * 2.4GHz: ETSI * 5GHz: ETSI Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The country code is used by the ath to detect the ISO 3166-1 alpha-2 name and to select the correct conformance test limits (CTL) for a country. If the country isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with: Invalid EEPROM contents The current CTL mappings for this country are: * 2.4GHz: ETSI * 5GHz: ETSI Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-
由 Sven Eckelmann 提交于
The country code is used by the ath to detect the ISO 3166-1 alpha-2 name and to select the correct conformance test limits (CTL) for a country. If the country isn't available and it is still programmed in the EEPROM then it will cause an error and stop the initialization with: Invalid EEPROM contents The current CTL mappings for this country are: * 2.4GHz: ETSI * 5GHz: FCC Signed-off-by: NSven Eckelmann <sven.eckelmann@openmesh.com> Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
-