<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/net/wireless/ath/ath10k/htt.c, branch linux-rolling-stable</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2024-01-18T05:50:08Z</updated>
<entry>
<title>wifi: ath10k: replace ENOTSUPP with EOPNOTSUPP</title>
<updated>2024-01-18T05:50:08Z</updated>
<author>
<name>Karthikeyan Periyasamy</name>
<email>quic_periyasa@quicinc.com</email>
</author>
<published>2024-01-17T08:04:31Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=bc2ef64931c263104532723e9d8d923cfb357ab6'/>
<id>urn:sha1:bc2ef64931c263104532723e9d8d923cfb357ab6</id>
<content type='text'>
ENOTSUPP is not a standard error code, don't use it. Replace with
EOPNOTSUPP instead.

No functional changes, compile tested only.

Signed-off-by: Karthikeyan Periyasamy &lt;quic_periyasa@quicinc.com&gt;
Acked-by: Jeff Johnson &lt;quic_jjohnson@quicinc.com&gt;
Signed-off-by: Kalle Valo &lt;quic_kvalo@quicinc.com&gt;
Link: https://msgid.link/20240117080431.2907471-4-quic_periyasa@quicinc.com
</content>
</entry>
<entry>
<title>ath10k: abstract htt_rx_desc structure</title>
<updated>2022-01-17T12:45:15Z</updated>
<author>
<name>Francesco Magliocca</name>
<email>franciman12@gmail.com</email>
</author>
<published>2022-01-12T08:15:11Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6bae9de622d3ef4805aba40e763eb4b0975c4f6d'/>
<id>urn:sha1:6bae9de622d3ef4805aba40e763eb4b0975c4f6d</id>
<content type='text'>
QCA6174 card often hangs with the current htt_rx_desc
memory layout in some circumstances, because its firmware
fails to handle length differences.
Therefore we must abstract the htt_rx_desc structure
and operations on it, to allow different wireless cards
to use different, unrelated rx descriptor structures.

Define a base htt_rx_desc structure and htt_rx_desc_v1
for use with the QCA family of ath10k supported cards
and htt_rx_desc_v2 for use with the WCN3990 card.

Define htt_rx_desc_ops which contains the abstract operations
to access the generic htt_rx_desc, give implementations
for each card and update htt_rx.c to use the defined
abstract interface to rx descriptors.

Fixes: e3def6f7ddf8 ("ath10k: Update rx descriptor for WCN3990 target")

Tested-on: QCA6174 hw3.2 PCI WLAN.RM.4.4.1-00157-QCARMSWPZ-1

Co-developed-by: Enrico Lumetti &lt;enrico@fracta.dev&gt;
Signed-off-by: Enrico Lumetti &lt;enrico@fracta.dev&gt;
Signed-off-by: Francesco Magliocca &lt;franciman12@gmail.com&gt;
Link: https://lore.kernel.org/ath10k/CAH4F6usFu8-A6k5Z7rU9__iENcSC6Zr-NtRhh_aypR74UvN1uQ@mail.gmail.com/
Signed-off-by: Kalle Valo &lt;quic_kvalo@quicinc.com&gt;
Link: https://lore.kernel.org/r/20211216151823.68878-1-franciman12@gmail.com
</content>
</entry>
<entry>
<title>ath10k: add htt TX bundle for sdio</title>
<updated>2020-04-22T06:43:29Z</updated>
<author>
<name>Wen Gong</name>
<email>wgong@codeaurora.org</email>
</author>
<published>2020-04-21T12:09:35Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=c8334512f3dd1b94844baca629f9bedca4271593'/>
<id>urn:sha1:c8334512f3dd1b94844baca629f9bedca4271593</id>
<content type='text'>
The transmission utilization ratio for sdio bus for small packet is
slow, because the space and time cost for sdio bus is same for large
length packet and small length packet. So the speed of data for large
length packet is higher than small length.

Test result of different length of data:

data packet(byte)   cost time(us)   calculated rate(Mbps)
      256               28                73
      512               33               124
     1024               35               234
     1792               45               318
    14336              168               682
    28672              333               688
    57344              660               695

This patch change the TX packet from single packet to a large length
bundle packet, max size is 32, it results in significant performance
improvement on TX path.

Also there's a fourth thread "ath10k_tx_complete_wq" added to ath10k as it
improves TCP RX throughput (values in Mbps):

                                       TCP-RX    TCP-TX    UDP-RX      UDP-TX
use workqueue_tx_complete              423       357       448         412
change it to ar-&gt;workqueue             410       360       449         414
change it to ar-&gt;workqueue_aux         405       339       446         401

This patch only effect sdio chip, it will not effect PCI, SNOC etc.
It only enable bundle for sdio chip.

Tested with QCA6174 SDIO with firmware
WLAN.RMH.4.4.1-00017-QCARMSWP-1.

Signed-off-by: Wen Gong &lt;wgong@codeaurora.org&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20200410061400.14231-2-wgong@codeaurora.org
</content>
</entry>
<entry>
<title>ath10k: disable TX complete indication of htt for sdio</title>
<updated>2020-04-09T14:48:50Z</updated>
<author>
<name>Wen Gong</name>
<email>wgong@codeaurora.org</email>
</author>
<published>2020-04-07T05:12:30Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d81686d3335648197c5da3992b151648706dc0f8'/>
<id>urn:sha1:d81686d3335648197c5da3992b151648706dc0f8</id>
<content type='text'>
For sdio chip, it is high latency bus, all the TX packet's content will
be tranferred from HOST memory to firmware memory via sdio bus, then it
need much more memory in firmware than low latency bus chip, for low
latency chip, such as PCI-E, it only need to transfer the TX descriptor
via PCI-E bus to firmware memory. For sdio chip, reduce the complexity of
TX logic will help TX efficiency since its memory is limited, and it will
reduce the TX circle's time of each packet and then firmware will have more
memory for TX since TX complete also need memeory.

This patch disable TX complete indication from firmware for htt data
packet, it will not have TX complete indication from firmware to ath10k.
It will cut the cost of bus bandwidth of TX complete and make the TX
logic of firmware simpler, it results in significant performance
improvement on TX path.

Udp TX throughout is 130Mbps without this patch, and it arrives
400Mbps with this patch.

The downside of this patch is the command "iw wlan0 station dump" will
show 0 for "tx retries" and "tx failed" since all tx packet's status
is success.

This patch only effect sdio chip, it will not effect PCI, SNOC etc.

Tested with QCA6174 SDIO with firmware
WLAN.RMH.4.4.1-00017-QCARMSWPZ-1

Signed-off-by: Wen Gong &lt;wgong@codeaurora.org&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20200212080415.31265-2-wgong@codeaurora.org
</content>
</entry>
<entry>
<title>ath10k: add inline wrapper for htt_h2t_aggr_cfg_msg</title>
<updated>2019-06-25T12:47:15Z</updated>
<author>
<name>Erik Stromdahl</name>
<email>erik.stromdahl@gmail.com</email>
</author>
<published>2019-03-26T16:29:03Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=74ee5715991f9d7d2fb8269ec60b0f914d78315e'/>
<id>urn:sha1:74ee5715991f9d7d2fb8269ec60b0f914d78315e</id>
<content type='text'>
This is done in order to make the *htt_h2t_aggr_cfg_msg* op align better
with the rest of the htt ops (whom all have inline wrappers).

It also adds support for the case when the op is missing (function
pointer is NULL).

As a result of this, the name of the 32 bit implementation in htt_tx.c
was changed and the function was made static.

Signed-off-by: Erik Stromdahl &lt;erik.stromdahl@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>ath10k: switch to use SPDX license identifiers</title>
<updated>2019-02-20T08:33:00Z</updated>
<author>
<name>Kalle Valo</name>
<email>kvalo@codeaurora.org</email>
</author>
<published>2019-02-19T17:45:26Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f0553ca9ceb5ff403623e31b7501d33ec84ce1fa'/>
<id>urn:sha1:f0553ca9ceb5ff403623e31b7501d33ec84ce1fa</id>
<content type='text'>
Use SPDX identifiers everywhere in ath10k.

Makefile was incorrectly marked in commit b24413180f56 ("License cleanup: add
SPDX GPL-2.0 license identifier to files with no license"), fix that as well.

Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>ath10k: Add support for extended HTT aggr msg support</title>
<updated>2019-02-04T15:51:39Z</updated>
<author>
<name>Govind Singh</name>
<email>govinds@codeaurora.org</email>
</author>
<published>2019-01-16T11:29:42Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5cbb117477501df2f8b3a384b042b08cd7174c92'/>
<id>urn:sha1:5cbb117477501df2f8b3a384b042b08cd7174c92</id>
<content type='text'>
HTT aggr message parameter in HL2.0 fw are different in comparison
to legacy fw version. Fill correct HTT aggr msg parameter for
targets using HL2.0 firmware.

Signed-off-by: Govind Singh &lt;govinds@codeaurora.org&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>ath10k: add inlined wrappers for htt tx ops</title>
<updated>2018-04-19T16:19:28Z</updated>
<author>
<name>Erik Stromdahl</name>
<email>erik.stromdahl@gmail.com</email>
</author>
<published>2018-04-15T12:22:27Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5df6e1313044bf0b5326fa54db8a3904d43ec1dc'/>
<id>urn:sha1:5df6e1313044bf0b5326fa54db8a3904d43ec1dc</id>
<content type='text'>
These wrappers makes the HTT ops align better with the HIF ops
(where similar wrappers are used).

It also makes it easier for a target to have unsupported ops
(by letting the corresponding function pointer be NULL).

Signed-off-by: Erik Stromdahl &lt;erik.stromdahl@gmail.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>ath10k: update copyright year</title>
<updated>2017-12-27T10:22:01Z</updated>
<author>
<name>Kalle Valo</name>
<email>kvalo@qca.qualcomm.com</email>
</author>
<published>2017-12-22T16:31:13Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=8b1083d6188222c5efceb120b3334f0d8527c215'/>
<id>urn:sha1:8b1083d6188222c5efceb120b3334f0d8527c215</id>
<content type='text'>
Update year for Qualcomm Atheros, Inc. copyrights.

Signed-off-by: Kalle Valo &lt;kvalo@qca.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>ath10k: Add paddrs_ring_64 support for 64bit target</title>
<updated>2017-12-27T10:06:31Z</updated>
<author>
<name>Govind Singh</name>
<email>govinds@qti.qualcomm.com</email>
</author>
<published>2017-12-21T09:00:57Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a91a626baa1566a5514654b7c0d910417d6790e8'/>
<id>urn:sha1:a91a626baa1566a5514654b7c0d910417d6790e8</id>
<content type='text'>
paddrs_ring_64 holds the physical device address of the
rx buffers that host SW provides for the MAC HW to fill.
Since this field is used in rx ring setup and rx ring
replenish in rx data path. Define separate methods
for handling 64 bit ring paddr and attach them dynamically
based on target_64bit hw param flag. Use u64 type
while popping paddr from the rx hash table for 64bit target.

Signed-off-by: Govind Singh &lt;govinds@qti.qualcomm.com&gt;
Signed-off-by: Kalle Valo &lt;kvalo@qca.qualcomm.com&gt;
</content>
</entry>
</feed>
