linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vasanthakumar Thiagarajan <vthiagar@codeaurora.org>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: Kalle Valo <kvalo@codeaurora.org>,
	linux-wireless@vger.kernel.org, ath11k@lists.infradead.org,
	devicetree@vger.kernel.org, linux-wireless-owner@vger.kernel.org
Subject: Re: [PATCH 04/49] ath11k: add ahb.c
Date: Wed, 21 Aug 2019 14:59:33 +0530	[thread overview]
Message-ID: <e53ddcaa11d069fbe9d083b9b0105d19@codeaurora.org> (raw)
In-Reply-To: <8c791df54a831f32fddd634e71e5e91342532535.camel@sipsolutions.net>

On 2019-08-21 01:35, Johannes Berg wrote:

Thanks for the comments!

> On Tue, 2019-08-20 at 18:47 +0300, Kalle Valo wrote:
>> 
>> +static const struct service_to_pipe target_service_to_ce_map_wlan[] = 
>> {
>> +	{
>> +		__cpu_to_le32(ATH11K_HTC_SVC_ID_WMI_DATA_VO),
>> +		__cpu_to_le32(PIPEDIR_OUT),	/* out = UL = host -> target */
>> +		__cpu_to_le32(3),
>> +	},
> 
> this might be nicer as C99 initializers as well? It's a struct of some
> sort, after all.

Sure.

> 
>> +	{ /* must be last */
>> +		__cpu_to_le32(0),
>> +		__cpu_to_le32(0),
>> +		__cpu_to_le32(0),
>> +	},
> 
> You don't need endian conversion for 0, even sparse will not complain,
> but I'd argue it should anyway be something like
> 
> 	{ /* terminator entry */ }
> 
> since that's why it's there I guess?

Ok.

> 
>> +#define ATH11K_TX_RING_MASK_3 0x0
> 
> You have a LOT of masks here that are 0, that seems odd?

We'll remove them.

> 
>> +/* enum ext_irq_num - irq nubers that can be used by external modules
> 
> typo ("numbers")
> 
>> +inline u32 ath11k_ahb_read32(struct ath11k_base *ab, u32 offset)
>> +{
>> +	return ioread32(ab->mem + offset);
>> +}
>> +
>> +inline void ath11k_ahb_write32(struct ath11k_base *ab, u32 offset, 
>> u32 value)
>> +{
>> +	iowrite32(value, ab->mem + offset);
>> +}
> 
> Just "inline" doesn't seem to make that much sense? If it's only used
> here then I guess it should be static, otherwise not inline? Or maybe
> you want it to be inlined *in this file* but available out-of-line
> otherwise? I'm not sure that actually is guaranteed to work right in C?

Yes, these read/write functions are used from other files as well. May 
be define
them as static inline in ahb.c will be fine.

> 
>> +		val = ath11k_ahb_read32(ab, CE_HOST_IE_ADDRESS);
>> +		val |= BIT(ce_id);
>> +		ath11k_ahb_write32(ab, CE_HOST_IE_ADDRESS, val);
> 
> You could perhaps benefit from ath11k_ahb_setbit32() or something like
> that, this repeats a few times?
> 
>> +	if (__le32_to_cpu(ce_config->pipedir) & PIPEDIR_OUT) {
>> +		val = ath11k_ahb_read32(ab, CE_HOST_IE_ADDRESS);
>> +		val &= ~BIT(ce_id);
>> +		ath11k_ahb_write32(ab, CE_HOST_IE_ADDRESS, val);
> 
> and clearbit32() maybe. Dunno, I saw only 3 instances of each here I
> guess, but still, feels repetitive.

Sure.

> 
>> +int ath11k_ahb_start(struct ath11k_base *ab)
>> +{
>> +	ath11k_ahb_ce_irqs_enable(ab);
>> +	ath11k_ce_rx_post_buf(ab);
>> +
>> +	/* Bring up other components as appropriate */
> 
> Hmm. What would be appropriate? It's not really doing anything else?

These comments added during development not to miss anything during
bring up. Now it is not really needed, we'll remove them.

> 
>> +void ath11k_ahb_stop(struct ath11k_base *ab)
>> +{
>> +	if (!test_bit(ATH11K_FLAG_CRASH_FLUSH, &ab->dev_flags))
>> +		ath11k_ahb_ce_irqs_disable(ab);
>> +	ath11k_ahb_sync_ce_irqs(ab);
>> +	ath11k_ahb_kill_tasklets(ab);
>> +	del_timer_sync(&ab->rx_replenish_retry);
>> +	ath11k_ce_cleanup_pipes(ab);
>> +	/* Shutdown other components as appropriate */
> 
> likewise, it's not doing anything else?
> 

Sure. Thanks.

Vasanth

  reply	other threads:[~2019-08-21  9:29 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-20 15:47 [PATCH 00/49] ath11k: driver for Qualcomm IEEE 802.11ax devices Kalle Valo
2019-08-20 15:47 ` [PATCH 01/49] dt: bindings: net: add qcom,ath11k.txt Kalle Valo
2019-08-27 17:13   ` Rob Herring
2019-09-05 13:18     ` Kalle Valo
2019-08-20 15:47 ` [PATCH 02/49] ath11k: add Kconfig Kalle Valo
2019-08-20 16:52   ` John Crispin
2019-08-20 15:47 ` [PATCH 03/49] ath11k: add Makefile Kalle Valo
2019-08-20 15:47 ` [PATCH 04/49] ath11k: add ahb.c Kalle Valo
2019-08-20 20:05   ` Johannes Berg
2019-08-21  9:29     ` Vasanthakumar Thiagarajan [this message]
2019-08-21  9:40       ` Johannes Berg
2019-08-21 17:10         ` Vasanthakumar Thiagarajan
2019-08-20 15:47 ` [PATCH 05/49] ath11k: add ahb.h Kalle Valo
2019-08-20 15:47 ` [PATCH 06/49] ath11k: add ce.c Kalle Valo
2019-08-20 20:23   ` Johannes Berg
2019-08-21  9:45     ` Vasanthakumar Thiagarajan
2019-08-20 15:47 ` [PATCH 07/49] ath11k: add ce.h Kalle Valo
2019-08-20 15:47 ` [PATCH 08/49] ath11k: add core.c Kalle Valo
2019-08-20 20:32   ` Johannes Berg
2019-09-05 11:37     ` Kalle Valo
2019-10-15 16:24     ` Kalle Valo
2019-08-20 15:47 ` [PATCH 09/49] ath11k: add core.h Kalle Valo
2019-08-20 15:47 ` [PATCH 10/49] ath11k: add debug.c Kalle Valo
2019-08-26 13:47   ` Sven Eckelmann
2019-08-27  7:33     ` Anilkumar Kolli
2019-08-27  7:35       ` Sven Eckelmann
2019-08-27  9:04         ` Anilkumar Kolli
2019-08-27  9:53           ` Sven Eckelmann
2019-08-27 10:04             ` Anilkumar Kolli
2019-08-27 10:49               ` Sven Eckelmann
2019-08-20 15:47 ` [PATCH 11/49] ath11k: add debug.h Kalle Valo
2019-08-20 15:47 ` [PATCH 12/49] ath11k: add debug_htt_stats.c Kalle Valo
2019-08-20 15:47 ` [PATCH 13/49] ath11k: add debug_htt_stats.h Kalle Valo
2019-08-20 15:47 ` [PATCH 14/49] ath11k: add debugfs_sta.c Kalle Valo
2019-08-20 15:47 ` [PATCH 15/49] ath11k: add dp.c Kalle Valo
2019-08-20 15:47 ` [PATCH 16/49] ath11k: add dp.h Kalle Valo
2019-08-20 15:47 ` [PATCH 17/49] ath11k: add dp_rx.c Kalle Valo
2019-08-20 15:47 ` [PATCH 18/49] ath11k: add dp_rx.h Kalle Valo
2019-08-20 15:47 ` [PATCH 19/49] ath11k: add dp_tx.c Kalle Valo
2019-08-20 15:47 ` [PATCH 20/49] ath11k: add dp_tx.h Kalle Valo
2019-08-20 15:47 ` [PATCH 21/49] ath11k: add hal.c Kalle Valo
2019-08-20 15:47 ` [PATCH 22/49] ath11k: add hal.h Kalle Valo
2019-08-20 15:47 ` [PATCH 23/49] ath11k: add hal_desc.h Kalle Valo
2019-08-20 15:47 ` [PATCH 24/49] ath11k: add hal_rx.c Kalle Valo
2019-08-20 15:47 ` [PATCH 25/49] ath11k: add hal_rx.h Kalle Valo
2019-08-20 15:47 ` [PATCH 26/49] ath11k: add hal_tx.c Kalle Valo
2019-08-20 15:47 ` [PATCH 27/49] ath11k: add hal_tx.h Kalle Valo
2019-08-20 15:47 ` [PATCH 28/49] ath11k: add htc.c Kalle Valo
2019-08-20 15:47 ` [PATCH 29/49] ath11k: add htc.h Kalle Valo
2019-08-20 15:47 ` [PATCH 30/49] ath11k: add hw.h Kalle Valo
2019-08-20 15:47 ` [PATCH 31/49] ath11k: add mac.c Kalle Valo
2019-08-20 16:51   ` Toke Høiland-Jørgensen
2019-08-21  5:02     ` Vasanthakumar Thiagarajan
2019-08-21 10:08       ` Toke Høiland-Jørgensen
2019-08-27 10:43         ` Vasanthakumar Thiagarajan
2019-08-27 17:27           ` Toke Høiland-Jørgensen
2019-08-27 19:13             ` Ben Greear
2019-08-20 20:46   ` Johannes Berg
2019-08-23 12:15     ` Vasanthakumar Thiagarajan
2019-09-05 11:24       ` Kalle Valo
2019-09-05 11:58         ` Vasanthakumar Thiagarajan
2019-09-05 12:29           ` Kalle Valo
2019-09-05 12:50             ` Johannes Berg
2019-08-21  6:16   ` Sven Eckelmann
2019-10-15 16:28     ` Kalle Valo
2019-08-23 15:02   ` Nicolas Cavallari
2019-08-27 10:51     ` Vasanthakumar Thiagarajan
2019-08-20 15:47 ` [PATCH 32/49] ath11k: add mac.h Kalle Valo
2019-08-20 15:47 ` [PATCH 33/49] ath11k: add peer.c Kalle Valo
2019-08-20 15:48 ` [PATCH 34/49] ath11k: add peer.h Kalle Valo
2019-08-20 15:48 ` [PATCH 35/49] ath11k: add qmi.c Kalle Valo
2019-08-20 15:48 ` [PATCH 36/49] ath11k: add qmi.h Kalle Valo
2019-08-20 15:48 ` [PATCH 37/49] ath11k: add reg.c Kalle Valo
2019-08-20 15:48 ` [PATCH 38/49] ath11k: add reg.h Kalle Valo
2019-08-20 15:48 ` [PATCH 39/49] ath11k: add rx_desc.h Kalle Valo
2019-08-20 15:48 ` [PATCH 40/49] ath11k: add testmode.c Kalle Valo
2019-08-20 15:48 ` [PATCH 41/49] ath11k: add testmode.h Kalle Valo
2019-08-20 15:48 ` [PATCH 42/49] ath11k: add testmode_i.h Kalle Valo
2019-08-20 15:48 ` [PATCH 43/49] ath11k: add trace.c Kalle Valo
2019-08-20 15:48 ` [PATCH 44/49] ath11k: add trace.h Kalle Valo
2019-08-20 15:48 ` [PATCH 45/49] ath11k: add wmi.c Kalle Valo
2019-08-20 15:48 ` [PATCH 46/49] ath11k: add wmi.h Kalle Valo
2019-08-20 20:29   ` Johannes Berg
2019-08-23  4:21     ` Vasanthakumar Thiagarajan
2019-08-20 15:48 ` [PATCH 47/49] ath: add ath11k to Makefile Kalle Valo
2019-08-20 15:48 ` [PATCH 48/49] ath: add ath11k to Kconfig Kalle Valo
2019-08-20 15:48 ` [PATCH 49/49] MAINTAINERS: add ath11k Kalle Valo

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=e53ddcaa11d069fbe9d083b9b0105d19@codeaurora.org \
    --to=vthiagar@codeaurora.org \
    --cc=ath11k@lists.infradead.org \
    --cc=devicetree@vger.kernel.org \
    --cc=johannes@sipsolutions.net \
    --cc=kvalo@codeaurora.org \
    --cc=linux-wireless-owner@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    /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).