linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).