All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Hsu, Ryan" <ryanhsu@qca.qualcomm.com>
To: "michal.kazior@tieto.com" <michal.kazior@tieto.com>,
	"Valo, Kalle" <kvalo@qca.qualcomm.com>
Cc: "marek.puzyniak@tieto.com" <marek.puzyniak@tieto.com>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	"ath10k@lists.infradead.org" <ath10k@lists.infradead.org>
Subject: Re: [PATCH 4/4] ath10k: fix spurious tx/rx during boot
Date: Fri, 16 Sep 2016 22:37:38 +0000	[thread overview]
Message-ID: <57DC735D.8020307@qca.qualcomm.com> (raw)
In-Reply-To: <1468924452-23877-5-git-send-email-michal.kazior@tieto.com>



On 07/19/2016 03:34 AM, Michal Kazior wrote:
>  =20
> +static int ath10k_core_reset_rx_filter(struct ath10k *ar)
> +{
> +	int ret;
> +	int vdev_id;
> +	int vdev_type;
> +	int vdev_subtype;
> +	const u8 *vdev_addr;
> +
> +	vdev_id =3D 0;
> +	vdev_type =3D WMI_VDEV_TYPE_STA;
> +	vdev_subtype =3D ath10k_wmi_get_vdev_subtype(ar, WMI_VDEV_SUBTYPE_NONE)=
;
> +	vdev_addr =3D ar->mac_addr;
> +
> +	ret =3D ath10k_wmi_vdev_create(ar, vdev_id, vdev_type, vdev_subtype,
> +				     vdev_addr);
> +	if (ret) {
> +		ath10k_err(ar, "failed to create dummy vdev: %d\n", ret);
> +		return ret;
> +	}
> +
> +	ret =3D ath10k_wmi_vdev_delete(ar, vdev_id);
> +	if (ret) {
> +		ath10k_err(ar, "failed to delete dummy vdev: %d\n", ret);
> +		return ret;
> +	}
> +
> +	/* WMI and HTT may use separate HIF pipes and are not guaranteed to be
> +	 * serialized properly implicitly.
> +	 *
> +	 * Moreover (most) WMI commands have no explicit acknowledges. It is
> +	 * possible to infer it implicitly by poking firmware with echo
> +	 * command - getting a reply means all preceding comments have been
> +	 * (mostly) processed.
> +	 *
> +	 * In case of vdev create/delete this is sufficient.
> +	 *
> +	 * Without this it's possible to end up with a race when HTT Rx ring is
> +	 * started before vdev create/delete hack is complete allowing a short
> +	 * window of opportunity to receive (and Tx ACK) a bunch of frames.
> +	 */
> +	ret =3D ath10k_wmi_barrier(ar);
QCA6174 UTF firmware seems doesn't support the WMI_ECHO command.

[16460.274822] ath10k_pci 0000:04:00.0: wmi tlv echo value 0x0ba991e9
...
[16463.461970] ath10k_pci 0000:04:00.0: failed to ping firmware: -110
[16463.461975] ath10k_pci 0000:04:00.0: failed to reset rx filter: -110

Has anyone verified any AP solution to see if UTF mode is still working=20
with after this patch?

Anyway, I would like to exclude the workaround from all solution's UTF mode=
.

Michal any concerns? (or maybe just for QCA61x4 if any...)

> +	if (ret) {
> +		ath10k_err(ar, "failed to ping firmware: %d\n", ret);
> +		return ret;
> +	}
> +
> +	return 0;
> +}
>

WARNING: multiple messages have this Message-ID (diff)
From: "Hsu, Ryan" <ryanhsu@qca.qualcomm.com>
To: "michal.kazior@tieto.com" <michal.kazior@tieto.com>,
	"Valo, Kalle" <kvalo@qca.qualcomm.com>
Cc: "marek.puzyniak@tieto.com" <marek.puzyniak@tieto.com>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	"ath10k@lists.infradead.org" <ath10k@lists.infradead.org>
Subject: Re: [PATCH 4/4] ath10k: fix spurious tx/rx during boot
Date: Fri, 16 Sep 2016 22:37:38 +0000	[thread overview]
Message-ID: <57DC735D.8020307@qca.qualcomm.com> (raw)
In-Reply-To: <1468924452-23877-5-git-send-email-michal.kazior@tieto.com>



On 07/19/2016 03:34 AM, Michal Kazior wrote:
>   
> +static int ath10k_core_reset_rx_filter(struct ath10k *ar)
> +{
> +	int ret;
> +	int vdev_id;
> +	int vdev_type;
> +	int vdev_subtype;
> +	const u8 *vdev_addr;
> +
> +	vdev_id = 0;
> +	vdev_type = WMI_VDEV_TYPE_STA;
> +	vdev_subtype = ath10k_wmi_get_vdev_subtype(ar, WMI_VDEV_SUBTYPE_NONE);
> +	vdev_addr = ar->mac_addr;
> +
> +	ret = ath10k_wmi_vdev_create(ar, vdev_id, vdev_type, vdev_subtype,
> +				     vdev_addr);
> +	if (ret) {
> +		ath10k_err(ar, "failed to create dummy vdev: %d\n", ret);
> +		return ret;
> +	}
> +
> +	ret = ath10k_wmi_vdev_delete(ar, vdev_id);
> +	if (ret) {
> +		ath10k_err(ar, "failed to delete dummy vdev: %d\n", ret);
> +		return ret;
> +	}
> +
> +	/* WMI and HTT may use separate HIF pipes and are not guaranteed to be
> +	 * serialized properly implicitly.
> +	 *
> +	 * Moreover (most) WMI commands have no explicit acknowledges. It is
> +	 * possible to infer it implicitly by poking firmware with echo
> +	 * command - getting a reply means all preceding comments have been
> +	 * (mostly) processed.
> +	 *
> +	 * In case of vdev create/delete this is sufficient.
> +	 *
> +	 * Without this it's possible to end up with a race when HTT Rx ring is
> +	 * started before vdev create/delete hack is complete allowing a short
> +	 * window of opportunity to receive (and Tx ACK) a bunch of frames.
> +	 */
> +	ret = ath10k_wmi_barrier(ar);
QCA6174 UTF firmware seems doesn't support the WMI_ECHO command.

[16460.274822] ath10k_pci 0000:04:00.0: wmi tlv echo value 0x0ba991e9
...
[16463.461970] ath10k_pci 0000:04:00.0: failed to ping firmware: -110
[16463.461975] ath10k_pci 0000:04:00.0: failed to reset rx filter: -110

Has anyone verified any AP solution to see if UTF mode is still working 
with after this patch?

Anyway, I would like to exclude the workaround from all solution's UTF mode.

Michal any concerns? (or maybe just for QCA61x4 if any...)

> +	if (ret) {
> +		ath10k_err(ar, "failed to ping firmware: %d\n", ret);
> +		return ret;
> +	}
> +
> +	return 0;
> +}
>

_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k

  parent reply	other threads:[~2016-09-16 22:37 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-19 10:34 [PATCH 0/4] ath10k: fix spurious tx/rx during boot Michal Kazior
2016-07-19 10:34 ` Michal Kazior
2016-07-19 10:34 ` [PATCH 1/4] ath10k: implement wmi echo command Michal Kazior
2016-07-19 10:34   ` Michal Kazior
2016-08-31  7:28   ` [1/4] " Kalle Valo
2016-08-31  7:28     ` Kalle Valo
2016-07-19 10:34 ` [PATCH 2/4] ath10k: implement wmi echo event Michal Kazior
2016-07-19 10:34   ` Michal Kazior
2016-07-19 10:34 ` [PATCH 3/4] ath10k: add wmi command barrier utility Michal Kazior
2016-07-19 10:34   ` Michal Kazior
2016-07-19 10:34 ` [PATCH 4/4] ath10k: fix spurious tx/rx during boot Michal Kazior
2016-07-19 10:34   ` Michal Kazior
2016-08-24 17:20   ` Ben Greear
2016-08-24 17:20     ` Ben Greear
2016-08-25  6:18     ` Michal Kazior
2016-08-25  6:18       ` Michal Kazior
2016-08-25 19:19       ` Ben Greear
2016-08-25 19:19         ` Ben Greear
2016-09-16 22:37   ` Hsu, Ryan [this message]
2016-09-16 22:37     ` Hsu, Ryan
2016-09-19  9:22     ` Michal Kazior
2016-09-19  9:22       ` Michal Kazior

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=57DC735D.8020307@qca.qualcomm.com \
    --to=ryanhsu@qca.qualcomm.com \
    --cc=ath10k@lists.infradead.org \
    --cc=kvalo@qca.qualcomm.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=marek.puzyniak@tieto.com \
    --cc=michal.kazior@tieto.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.