<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/net/wireless/ath/ath11k/hal_tx.c, branch linux-6.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.2.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-6.2.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2022-09-10T06:27:54Z</updated>
<entry>
<title>wifi: ath11k: Add multi TX ring support for WCN6750</title>
<updated>2022-09-10T06:27:54Z</updated>
<author>
<name>Manikanta Pubbisetty</name>
<email>quic_mpubbise@quicinc.com</email>
</author>
<published>2022-09-07T08:36:49Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7636c9a6e7d7996ca0b7f31f61f0e55ef5ff89d5'/>
<id>urn:sha1:7636c9a6e7d7996ca0b7f31f61f0e55ef5ff89d5</id>
<content type='text'>
Currently in the case of WCN6750, only one TCL ring is used for TX,
this is limiting the TX throughput in 160 MHz case, enabling multiple
TCL rings on WCN6750 has shown an improvement of nearly 300 Mbps in
the case of TCP TX, therefore add the support of multi TX ring for
WCN6750.

Currently TCL ring is selected based on CPU ID, this logic cannot be
applied for WCN6750 as there is chance of out of order TX of packets
and to avoid this, choose TCL ring based on flow hash so that packets
of the same flow will end up on same TCL ring. For the same reason,
TCL ring retry logic is also not applicable for WCN6750.

Also the mapping of TCL, WBM &amp; RBM IDs for WCN6750 is different from
existing devices. Create a new TCM/WBM/RBM mapping for WCN6750.

Change does not impact existing ath11k devices.

Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00887-QCAMSLSWPLZ-1

Signed-off-by: Manikanta Pubbisetty &lt;quic_mpubbise@quicinc.com&gt;
Signed-off-by: Kalle Valo &lt;quic_kvalo@quicinc.com&gt;
Link: https://lore.kernel.org/r/20220905071805.31625-3-quic_mpubbise@quicinc.com
</content>
</entry>
<entry>
<title>ath11k: add data path support for QCN9074</title>
<updated>2021-02-17T09:32:51Z</updated>
<author>
<name>Karthikeyan Periyasamy</name>
<email>periyasa@codeaurora.org</email>
</author>
<published>2021-02-16T07:16:23Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e678fbd401b9bdca9d1bd64065abfcc87ae66b94'/>
<id>urn:sha1:e678fbd401b9bdca9d1bd64065abfcc87ae66b94</id>
<content type='text'>
hal rx descriptor is different for QCN9074 target type. since
rx_msdu_end, rx_msdu_start, rx_mpdu_start elements are in
different placement/alignment. In order to have generic data path,
introduce platform specific hal rx descriptor access ops in
ath11k_hw_ops.

Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.4.0.1.r2-00012-QCAHKSWPL_SILICONZ-1

Signed-off-by: Karthikeyan Periyasamy &lt;periyasa@codeaurora.org&gt;
Signed-off-by: Anilkumar Kolli &lt;akolli@codeaurora.org&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Link: https://lore.kernel.org/r/1612946530-28504-9-git-send-email-akolli@codeaurora.org
</content>
</entry>
<entry>
<title>ath11k: add hal support for QCN9074</title>
<updated>2021-02-17T09:32:48Z</updated>
<author>
<name>Karthikeyan Periyasamy</name>
<email>periyasa@codeaurora.org</email>
</author>
<published>2021-02-16T07:16:22Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6fe6f68fef7f7d5f6b5b62fde78de91cdc528c58'/>
<id>urn:sha1:6fe6f68fef7f7d5f6b5b62fde78de91cdc528c58</id>
<content type='text'>
Define the hal ring address and ring meta descriptor mask for
QCN9074. Move the platform specific address to the ath11k_hw_regs.
Define tx_mesh_enable ops in ath11k_hw_ops since its accessing
platform specific TCL descriptor.

Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.4.0.1.r2-00012-QCAHKSWPL_SILICONZ-1

Signed-off-by: Karthikeyan Periyasamy &lt;periyasa@codeaurora.org&gt;
Signed-off-by: Anilkumar Kolli &lt;akolli@codeaurora.org&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Link: https://lore.kernel.org/r/1612946530-28504-8-git-send-email-akolli@codeaurora.org
</content>
</entry>
<entry>
<title>ath11k: Update tx descriptor search index properly</title>
<updated>2021-02-09T07:22:52Z</updated>
<author>
<name>Karthikeyan Periyasamy</name>
<email>periyasa@codeaurora.org</email>
</author>
<published>2021-02-08T11:32:11Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4b965be536eefdd16ca0a88120fee23f5b92cd16'/>
<id>urn:sha1:4b965be536eefdd16ca0a88120fee23f5b92cd16</id>
<content type='text'>
Tx descriptor search index field should be updated with hw peer id
and not by AST Hash as per the HW/FW recommendation. Incorrect search
index causes throughput degradation in all scenario for all the
platforms. so updated the search index field with hw peer id, which
is a common change applicable for all the platforms. Also no need of these
configuration for non station type. seen 10% throughput increase in WDS
traffic with this change.

Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-01492-QCAHKSWPL_SILICONZ-1

Signed-off-by: Karthikeyan Periyasamy &lt;periyasa@codeaurora.org&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Link: https://lore.kernel.org/r/1612410960-9120-1-git-send-email-periyasa@codeaurora.org
</content>
</entry>
<entry>
<title>ath11k: hal: create hw_srng_config dynamically</title>
<updated>2020-08-17T10:18:38Z</updated>
<author>
<name>Kalle Valo</name>
<email>kvalo@codeaurora.org</email>
</author>
<published>2020-08-14T07:10:30Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=f7eb4b04ce6f81f945bd71288f8e9fc4f284c169'/>
<id>urn:sha1:f7eb4b04ce6f81f945bd71288f8e9fc4f284c169</id>
<content type='text'>
On QCA6390 reg_start and reg_size values are different from IPQ8074 so we need
to change the values runtime. As we can't modify a static const variable
hw_srng_config directly, instead use it as a template, copy it and modify the
copy with correct values.

Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1
Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-2

Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Link: https://lore.kernel.org/r/1597389030-13887-12-git-send-email-kvalo@codeaurora.org
</content>
</entry>
<entry>
<title>ath11k: Remove bus layer includes from upper layer</title>
<updated>2020-05-11T12:35:06Z</updated>
<author>
<name>Govind Singh</name>
<email>govinds@codeaurora.org</email>
</author>
<published>2020-05-08T02:55:48Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=27143fa93c3b000c968992ca2620e784249862d3'/>
<id>urn:sha1:27143fa93c3b000c968992ca2620e784249862d3</id>
<content type='text'>
Bus level header files needs to be abstracted by upper
layer. Remove bus layer includes by adding appropriate header
files.

Signed-off-by: Govind Singh &lt;govinds@codeaurora.org&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20200506094400.4740-4-govinds@codeaurora.org
</content>
</entry>
<entry>
<title>ath11k: Add support for multibus support</title>
<updated>2020-05-11T12:34:58Z</updated>
<author>
<name>Govind Singh</name>
<email>govinds@codeaurora.org</email>
</author>
<published>2020-05-08T02:55:44Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=31858805f91ac79f0f0d9d982e90c68d6d3ae164'/>
<id>urn:sha1:31858805f91ac79f0f0d9d982e90c68d6d3ae164</id>
<content type='text'>
Current design supports only AHB interface for
11ax chipset. Refactor the code by adding hif layer
for bus level abstraction to support  PCI based device.

Signed-off-by: Govind Singh &lt;govinds@codeaurora.org&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
Link: https://lore.kernel.org/r/20200506094400.4740-2-govinds@codeaurora.org
</content>
</entry>
<entry>
<title>ath11k: optimize ath11k_hal_tx_status_parse</title>
<updated>2019-12-18T17:40:10Z</updated>
<author>
<name>John Crispin</name>
<email>john@phrozen.org</email>
</author>
<published>2019-12-13T15:38:39Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2ad578fdb7b544e2000cbec7bc1c2796208f3fcf'/>
<id>urn:sha1:2ad578fdb7b544e2000cbec7bc1c2796208f3fcf</id>
<content type='text'>
Moving the function into dp_tx.c allows gcc to optimize the code better
and also avoid chace invalidates and context switches.

Signed-off-by: John Crispin &lt;john@phrozen.org&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>ath11k: optimise ath11k_dp_tx_completion_handler</title>
<updated>2019-12-18T17:39:59Z</updated>
<author>
<name>John Crispin</name>
<email>john@phrozen.org</email>
</author>
<published>2019-12-13T15:38:38Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d0998eb84ed3cc02c15f92b07223735ddbbe9b06'/>
<id>urn:sha1:d0998eb84ed3cc02c15f92b07223735ddbbe9b06</id>
<content type='text'>
the current code does 4 memcpys for each completion frame.
1) duplicate the desc
2 + 3) inside kfifo insertion
4) kfifo remove

The code simply drops the kfifo and uses a trivial ring buffer. This
requires a single memcpy for insertion. There is no removal needed as
we can simply use the inserted data for processing. As the code runs
inside the NAPI context it is atomic and there is no need for most of
the locking.

Signed-off-by: John Crispin &lt;john@phrozen.org&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>ath11k: move some tx_status parsing to debugfs code</title>
<updated>2019-12-18T17:39:47Z</updated>
<author>
<name>John Crispin</name>
<email>john@phrozen.org</email>
</author>
<published>2019-12-13T15:38:37Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=8cfa7ef8127b00de1ce0275a85220c331fe9a4d0'/>
<id>urn:sha1:8cfa7ef8127b00de1ce0275a85220c331fe9a4d0</id>
<content type='text'>
Some of the fields are only used by debugfs. Move the parsing of these
from the data hot path to the debugfs code.

Signed-off-by: John Crispin &lt;john@phrozen.org&gt;
Signed-off-by: Kalle Valo &lt;kvalo@codeaurora.org&gt;
</content>
</entry>
</feed>
