From: Kalle Valo <kvalo@kernel.org>
To: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com>
Cc: <ath12k@lists.infradead.org>, <linux-wireless@vger.kernel.org>,
Karthikeyan Kathirvel <quic_kathirve@quicinc.com>
Subject: Re: [PATCH v3 09/13] wifi: ath12k: subscribe required word mask from rx tlv
Date: Fri, 02 Feb 2024 14:27:45 +0200 [thread overview]
Message-ID: <87eddvt5j2.fsf@kernel.org> (raw)
In-Reply-To: <20240129065724.2310207-10-quic_rajkbhag@quicinc.com> (Raj Kumar Bhagat's message of "Mon, 29 Jan 2024 12:27:20 +0530")
Raj Kumar Bhagat <quic_rajkbhag@quicinc.com> writes:
> From: Karthikeyan Kathirvel <quic_kathirve@quicinc.com>
>
> Most of the RX descriptors fields are currently not used in the
> ath12k driver. Hence add support to selectively subscribe to the
> required quad words (64 bits) within msdu_end and mpdu_start of
> rx_desc.
>
> Add compact rx_desc structures and configure the bit mask for Rx TLVs
> (msdu_end, mpdu_start, mpdu_end) via registers. With these registers
> SW can configure to DMA the partial TLV struct to Rx buffer.
>
> Each TLV type has its own register to configure the mask value.
> The mask value configured in register will indicate if a particular
> QWORD has to be written to rx buffer or not i.e., if Nth bit is enabled
> in the mask Nth QWORD will be written and it will not be written if the
> bit is disabled in mask. While 0th bit indicates whether TLV tag will be
> written or not.
>
> Advantages of Qword subscription of TLVs
> - Avoid multiple cache-line misses as the all the required fields
> of the TLV are within 128 bytes.
> - Memory optimization as TLVs + DATA + SHINFO can fit in 2k buffer
> even for 64 bit kernel.
>
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.1.1-00188-QCAHKSWPL_SILICONZ-1
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
> Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3
>
> Signed-off-by: Karthikeyan Kathirvel <quic_kathirve@quicinc.com>
> Co-developed-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com>
> Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com>
[...]
> +static void
> +ath12k_hw_qcn9274_compact_rx_desc_set_msdu_len(struct hal_rx_desc *desc, u16 len)
> +{
> + u32 info = __le32_to_cpu(desc->u.qcn9274_compact.msdu_end.info10);
> +
> + info = u32_replace_bits(info, len, RX_MSDU_END_INFO10_MSDU_LENGTH);
> + desc->u.qcn9274_compact.msdu_end.info10 = __cpu_to_le32(info);
> +}
Don't we have le32_replace_bits()? That would simplify this function.
No need to resend because of this, but a followup patch cleaning this up
would be nice.
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
next prev parent reply other threads:[~2024-02-02 12:27 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-29 6:57 [PATCH v3 00/13] wifi: ath12k: QCN9274 dualmac bring up Raj Kumar Bhagat
2024-01-29 6:57 ` [PATCH v3 01/13] wifi: ath12k: indicate NON MBSSID vdev by default during vdev start Raj Kumar Bhagat
2024-01-31 21:04 ` Jeff Johnson
2024-02-02 12:33 ` Kalle Valo
2024-01-29 6:57 ` [PATCH v3 02/13] wifi: ath12k: fetch correct pdev id from WMI_SERVICE_READY_EXT_EVENTID Raj Kumar Bhagat
2024-01-31 21:05 ` Jeff Johnson
2024-01-29 6:57 ` [PATCH v3 03/13] wifi: ath12k: add support for peer meta data version Raj Kumar Bhagat
2024-01-31 21:05 ` Jeff Johnson
2024-01-29 6:57 ` [PATCH v3 04/13] wifi: ath12k: fix fetching MCBC flag for QCN9274 Raj Kumar Bhagat
2024-01-31 21:06 ` Jeff Johnson
2024-01-29 6:57 ` [PATCH v3 05/13] wifi: ath12k: Add logic to write QRTR node id to scratch Raj Kumar Bhagat
2024-01-31 21:06 ` Jeff Johnson
2024-02-02 12:20 ` Kalle Valo
2024-02-02 14:32 ` Raj Kumar Bhagat
2024-01-29 6:57 ` [PATCH v3 06/13] wifi: ath12k: fix firmware assert during insmod in memory segment mode Raj Kumar Bhagat
2024-01-31 21:06 ` Jeff Johnson
2024-01-29 6:57 ` [PATCH v3 07/13] wifi: ath12k: split hal_ops to support RX TLVs word mask compaction Raj Kumar Bhagat
2024-01-31 21:07 ` Jeff Johnson
2024-01-29 6:57 ` [PATCH v3 08/13] wifi: ath12k: remove hal_desc_sz from hw params Raj Kumar Bhagat
2024-01-31 21:07 ` Jeff Johnson
2024-01-29 6:57 ` [PATCH v3 09/13] wifi: ath12k: subscribe required word mask from rx tlv Raj Kumar Bhagat
2024-01-31 21:07 ` Jeff Johnson
2024-02-02 12:27 ` Kalle Valo [this message]
2024-02-02 14:28 ` Raj Kumar Bhagat
2024-01-29 6:57 ` [PATCH v3 10/13] wifi: ath12k: add MAC id support in WBM error path Raj Kumar Bhagat
2024-01-31 21:08 ` Jeff Johnson
2024-01-29 6:57 ` [PATCH v3 11/13] wifi: ath12k: fix PCI read and write Raj Kumar Bhagat
2024-01-31 21:08 ` Jeff Johnson
2024-01-29 6:57 ` [PATCH v3 12/13] wifi: ath12k: Read board id to support split-PHY QCN9274 Raj Kumar Bhagat
2024-01-31 21:09 ` Jeff Johnson
2024-02-14 14:17 ` Sven Eckelmann
2024-02-15 11:32 ` Kalle Valo
2024-01-29 6:57 ` [PATCH v3 13/13] wifi: ath12k: disable QMI PHY capability learn in split-phy QCN9274 Raj Kumar Bhagat
2024-01-30 1:52 ` Jeff Johnson
2024-01-30 3:04 ` Raj Kumar Bhagat
2024-01-31 21:08 ` Jeff Johnson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87eddvt5j2.fsf@kernel.org \
--to=kvalo@kernel.org \
--cc=ath12k@lists.infradead.org \
--cc=linux-wireless@vger.kernel.org \
--cc=quic_kathirve@quicinc.com \
--cc=quic_rajkbhag@quicinc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.