linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Daniel Golle <daniel@makrotopia.org>
To: linux-wireless@vger.kernel.org
Cc: Johannes Berg <johannes@sipsolutions.net>,
	Stanislaw Gruszka <sgruszka@redhat.com>,
	roman@advem.lv, michel.stempin@wanadoo.fr, c.mignanti@gmail.com,
	evaxige@qq.com, Kalle Valo <kvalo@codeaurora.org>,
	Felix Fietkau <nbd@nbd.name>, John Crispin <john@phrozen.org>,
	Gabor Juhos <juhosg@openwrt.org>
Subject: [PATCH v2 02/14] rt2x00: rt2800lib: introduce RT2800_HAS_HIGH_SHARED_MEM flag
Date: Mon, 16 Jan 2017 03:55:56 +0100	[thread overview]
Message-ID: <20170116025544.GA32165@makrotopia.org> (raw)
In-Reply-To: <874m114lwq.fsf@codeaurora.org>

From: Gabor Juhos <juhosg@openwrt.org>

Some chipsets have more than 16KB of shared memory.
Introduce a new rt2800 specific flag to indicate that
and add a helper function which helps to check the
presence of the new flag.

Also enable the new flag for the RT3593 chipset which
has 24KB of shared memory. The flag can also be used
for other chipsets, but none of those has been tested
yet.

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
 drivers/net/wireless/ralink/rt2x00/rt2800lib.c |  4 ++++
 drivers/net/wireless/ralink/rt2x00/rt2800lib.h | 13 +++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
index 5436cdb07937..5045af1b0dc9 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c
@@ -7770,6 +7770,7 @@ static int rt2800_probe_rt(struct rt2x00_dev *rt2x00dev)
 
 int rt2800_probe_hw(struct rt2x00_dev *rt2x00dev)
 {
+	struct rt2800_drv_data *drv_data = rt2x00dev->drv_data;
 	int retval;
 	u32 reg;
 
@@ -7777,6 +7778,9 @@ int rt2800_probe_hw(struct rt2x00_dev *rt2x00dev)
 	if (retval)
 		return retval;
 
+	if (rt2x00_rt(rt2x00dev, RT3593))
+		__set_bit(RT2800_HAS_HIGH_SHARED_MEM, &drv_data->rt2800_flags);
+
 	/*
 	 * Allocate eeprom data.
 	 */
diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800lib.h b/drivers/net/wireless/ralink/rt2x00/rt2800lib.h
index 256928f0ea6a..4ee424dfe23f 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.h
+++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.h
@@ -22,6 +22,10 @@
 
 #include "rt2800.h"
 
+enum rt2800_flag {
+	RT2800_HAS_HIGH_SHARED_MEM,
+};
+
 /* RT2800 driver data structure */
 struct rt2800_drv_data {
 	u8 calibration_bw20;
@@ -34,6 +38,8 @@ struct rt2800_drv_data {
 	unsigned int tbtt_tick;
 	unsigned int ampdu_factor_cnt[4];
 	DECLARE_BITMAP(sta_ids, STA_IDS_SIZE);
+
+	unsigned long rt2800_flags;
 };
 
 struct rt2800_ops {
@@ -66,6 +72,13 @@ struct rt2800_ops {
 	__le32 *(*drv_get_txwi)(struct queue_entry *entry);
 };
 
+static inline bool rt2800_has_high_shared_mem(struct rt2x00_dev *rt2x00dev)
+{
+	struct rt2800_drv_data *drv_data = rt2x00dev->drv_data;
+
+	return test_bit(RT2800_HAS_HIGH_SHARED_MEM, &drv_data->rt2800_flags);
+}
+
 static inline void rt2800_register_read(struct rt2x00_dev *rt2x00dev,
 					const unsigned int offset,
 					u32 *value)
-- 
2.11.0

  parent reply	other threads:[~2017-01-16  2:57 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-13 21:20 [PATCH 04/40] rt2x00: rt2800lib: fix beacon generation on RT3593 Daniel Golle
2017-01-14 17:00 ` Kalle Valo
2017-01-16  2:53   ` [PATCH v2 00/14] rt2x00 patches from OpenWrt.org Daniel Golle
2017-01-16  2:55   ` [PATCH v2 01/14] rt2x00: rt2800lib: move rt2800_drv_data declaration into rt2800lib.h Daniel Golle
2017-01-28  8:48     ` [v2, " Kalle Valo
2017-01-16  2:55   ` Daniel Golle [this message]
2017-01-16  2:58   ` [PATCH v2 03/14] rt2x00: rt2800: serialize shared memory access Daniel Golle
2017-01-16  3:01   ` [PATCH v2 04/14] rt2x00: rt2800lib: fix beacon generation on RT3593 Daniel Golle
2017-01-16 10:04     ` Stanislaw Gruszka
2017-01-16  3:02   ` [PATCH v2 05/14] rt2x00: rt2800lib: add hw_beacon_count field to struct rt2800_drv_data Daniel Golle
2017-01-16  3:03   ` [PATCH v2 06/14] rt2x00: rt2800lib: init additional beacon offset registers Daniel Golle
2017-01-16  3:03   ` [PATCH v2 07/14] rt2x00: rt2800lib: fix max supported beacon count for RT3593 Daniel Golle
2017-01-16  3:05   ` [PATCH v2 08/14] rt2x00: rt2800mmio: add a workaround for spurious TX_FIFO_STATUS interrupts Daniel Golle
2017-01-18 14:44     ` Stanislaw Gruszka
2017-01-18 15:13       ` Stanislaw Gruszka
2017-01-16  3:06   ` [PATCH v2 09/14] rt2x00: rt2x00pci: set PCI MWI only if supported Daniel Golle
2017-01-16 10:08     ` Stanislaw Gruszka
2017-01-17  1:56       ` Daniel Golle
2017-01-17  7:34         ` John Crispin
2017-01-16  3:08   ` [PATCH v2 10/14] rt2x00: rt2800lib: correctly set HT20/HT40 filter Daniel Golle
2017-01-16 10:12     ` Stanislaw Gruszka
2017-01-19 12:49     ` [v2,10/14] " Kalle Valo
2017-01-16  3:13   ` [PATCH v2 11/14] rt2x00: rt2800lib: fix rf id for RT3352 Daniel Golle
2017-01-16 10:12     ` Stanislaw Gruszka
2017-01-16  3:14   ` [PATCH v2 12/14] rt2x00: rt2800lib: support for for RT3352 with external PA Daniel Golle
2017-01-16 10:14     ` Stanislaw Gruszka
2017-01-16  3:15   ` [PATCH v2 13/14] rt2x00: rt2800lib: add support for RT3352 with 20MHz crystal Daniel Golle
2017-01-18 14:30     ` Stanislaw Gruszka
2017-01-19 13:30       ` Daniel Golle
2017-01-19 20:52         ` Daniel Golle
2017-01-19 23:42       ` [PATCH v3] " Daniel Golle
2017-01-20 13:16         ` Stanislaw Gruszka
2017-01-16  3:17   ` [PATCH v2 14/14] rt2x00: add support for RT5350 WiSoC Daniel Golle
2017-01-16 10:17     ` Stanislaw Gruszka
2017-01-17  1:48       ` Daniel Golle
2017-01-18 14:47         ` Stanislaw Gruszka
2017-01-19 13:38           ` [PATCH v3] " Daniel Golle
2017-01-19 19:08             ` Kalle Valo
2017-01-19 20:37               ` Daniel Golle
2017-01-20  2:21             ` kbuild test robot
2017-01-20 13:19             ` Stanislaw Gruszka

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=20170116025544.GA32165@makrotopia.org \
    --to=daniel@makrotopia.org \
    --cc=c.mignanti@gmail.com \
    --cc=evaxige@qq.com \
    --cc=johannes@sipsolutions.net \
    --cc=john@phrozen.org \
    --cc=juhosg@openwrt.org \
    --cc=kvalo@codeaurora.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=michel.stempin@wanadoo.fr \
    --cc=nbd@nbd.name \
    --cc=roman@advem.lv \
    --cc=sgruszka@redhat.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).