2010-01-26 23:45:30

by Larry Finger

[permalink] [raw]
Subject: [PATCH] rtl8187: Add callback for get_tsf

Signed-off-by: Larry Finger <[email protected]>
---

Index: wireless-testing/drivers/net/wireless/rtl818x/rtl8187_dev.c
===================================================================
--- wireless-testing.orig/drivers/net/wireless/rtl818x/rtl8187_dev.c
+++ wireless-testing/drivers/net/wireless/rtl818x/rtl8187_dev.c
@@ -1265,6 +1265,14 @@ static int rtl8187_conf_tx(struct ieee80
return 0;
}

+static u64 rtl8187_get_tsf(struct ieee80211_hw *dev)
+{
+ struct rtl8187_priv *priv = dev->priv;
+
+ return rtl818x_ioread32(priv, &priv->map->TSFT[0]) |
+ (u64)(rtl818x_ioread32(priv, &priv->map->TSFT[1])) << 32;
+}
+
static const struct ieee80211_ops rtl8187_ops = {
.tx = rtl8187_tx,
.start = rtl8187_start,
@@ -1276,7 +1284,8 @@ static const struct ieee80211_ops rtl818
.prepare_multicast = rtl8187_prepare_multicast,
.configure_filter = rtl8187_configure_filter,
.conf_tx = rtl8187_conf_tx,
- .rfkill_poll = rtl8187_rfkill_poll
+ .rfkill_poll = rtl8187_rfkill_poll,
+ .get_tsf = rtl8187_get_tsf
};

static void rtl8187_eeprom_register_read(struct eeprom_93cx6 *eeprom)


2010-01-26 23:57:36

by Gábor Stefanik

[permalink] [raw]
Subject: Re: [PATCH] rtl8187: Add callback for get_tsf

On Wed, Jan 27, 2010 at 12:45 AM, Larry Finger
<[email protected]> wrote:
> Signed-off-by: Larry Finger <[email protected]>
> ---
>
> Index: wireless-testing/drivers/net/wireless/rtl818x/rtl8187_dev.c
> ===================================================================
> --- wireless-testing.orig/drivers/net/wireless/rtl818x/rtl8187_dev.c
> +++ wireless-testing/drivers/net/wireless/rtl818x/rtl8187_dev.c
> @@ -1265,6 +1265,14 @@ static int rtl8187_conf_tx(struct ieee80
> ? ? ? ?return 0;
> ?}
>
> +static u64 rtl8187_get_tsf(struct ieee80211_hw *dev)
> +{
> + ? ? ? struct rtl8187_priv *priv = dev->priv;
> +
> + ? ? ? return rtl818x_ioread32(priv, &priv->map->TSFT[0]) |
> + ? ? ? ? ? ? ?(u64)(rtl818x_ioread32(priv, &priv->map->TSFT[1])) << 32;
> +}
> +
> ?static const struct ieee80211_ops rtl8187_ops = {
> ? ? ? ?.tx ? ? ? ? ? ? ? ? ? ? = rtl8187_tx,
> ? ? ? ?.start ? ? ? ? ? ? ? ? ?= rtl8187_start,
> @@ -1276,7 +1284,8 @@ static const struct ieee80211_ops rtl818
> ? ? ? ?.prepare_multicast ? ? ?= rtl8187_prepare_multicast,
> ? ? ? ?.configure_filter ? ? ? = rtl8187_configure_filter,
> ? ? ? ?.conf_tx ? ? ? ? ? ? ? ?= rtl8187_conf_tx,
> - ? ? ? .rfkill_poll ? ? ? ? ? ?= rtl8187_rfkill_poll
> + ? ? ? .rfkill_poll ? ? ? ? ? ?= rtl8187_rfkill_poll,
> + ? ? ? .get_tsf ? ? ? ? ? ? ? ?= rtl8187_get_tsf

Please put a comma at the end of this line. It doesn't really matter,
but this is the accepted kernel coding style.

> ?};
>
> ?static void rtl8187_eeprom_register_read(struct eeprom_93cx6 *eeprom)
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>



--
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)

2010-01-27 09:18:19

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] rtl8187: Add callback for get_tsf

On Tue, 2010-01-26 at 18:28 -0600, Larry Finger wrote:

> > Presumably this new api is needed and used by some userland tools (iw
> > or other QoS-related tool?).
>
> From include/net/mac80211.h: "It is currently used for IBSS mode BSSID merging
> and debugging". Implementation of this callback is voluntary.

In fact, if you give mac80211 TSF timestamps with each packet, it will
never be used other than from the debugfs file.

johannes


Attachments:
signature.asc (801.00 B)
This is a digitally signed message part

2010-01-27 00:17:41

by Hin-Tak Leung

[permalink] [raw]
Subject: Re: [PATCH] rtl8187: Add callback for get_tsf

On Tue, Jan 26, 2010 at 11:45 PM, Larry Finger
<[email protected]> wrote:
> Signed-off-by: Larry Finger <[email protected]>

Acked-by: Hin-Tak Leung <[email protected]>

Presumably this new api is needed and used by some userland tools (iw
or other QoS-related tool?).

> ---
>
> Index: wireless-testing/drivers/net/wireless/rtl818x/rtl8187_dev.c
> ===================================================================
> --- wireless-testing.orig/drivers/net/wireless/rtl818x/rtl8187_dev.c
> +++ wireless-testing/drivers/net/wireless/rtl818x/rtl8187_dev.c
> @@ -1265,6 +1265,14 @@ static int rtl8187_conf_tx(struct ieee80
> ? ? ? ?return 0;
> ?}
>
> +static u64 rtl8187_get_tsf(struct ieee80211_hw *dev)
> +{
> + ? ? ? struct rtl8187_priv *priv = dev->priv;
> +
> + ? ? ? return rtl818x_ioread32(priv, &priv->map->TSFT[0]) |
> + ? ? ? ? ? ? ?(u64)(rtl818x_ioread32(priv, &priv->map->TSFT[1])) << 32;
> +}
> +
> ?static const struct ieee80211_ops rtl8187_ops = {
> ? ? ? ?.tx ? ? ? ? ? ? ? ? ? ? = rtl8187_tx,
> ? ? ? ?.start ? ? ? ? ? ? ? ? ?= rtl8187_start,
> @@ -1276,7 +1284,8 @@ static const struct ieee80211_ops rtl818
> ? ? ? ?.prepare_multicast ? ? ?= rtl8187_prepare_multicast,
> ? ? ? ?.configure_filter ? ? ? = rtl8187_configure_filter,
> ? ? ? ?.conf_tx ? ? ? ? ? ? ? ?= rtl8187_conf_tx,
> - ? ? ? .rfkill_poll ? ? ? ? ? ?= rtl8187_rfkill_poll
> + ? ? ? .rfkill_poll ? ? ? ? ? ?= rtl8187_rfkill_poll,
> + ? ? ? .get_tsf ? ? ? ? ? ? ? ?= rtl8187_get_tsf
> ?};
>
> ?static void rtl8187_eeprom_register_read(struct eeprom_93cx6 *eeprom)
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>

2010-01-27 00:28:05

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH] rtl8187: Add callback for get_tsf

On 01/26/2010 06:17 PM, Hin-Tak Leung wrote:
> On Tue, Jan 26, 2010 at 11:45 PM, Larry Finger
> <[email protected]> wrote:
>> Signed-off-by: Larry Finger<[email protected]>
>
> Acked-by: Hin-Tak Leung<[email protected]>
>
> Presumably this new api is needed and used by some userland tools (iw
> or other QoS-related tool?).

From include/net/mac80211.h: "It is currently used for IBSS mode BSSID merging
and debugging". Implementation of this callback is voluntary.

Larry


2010-01-27 00:27:03

by Hin-Tak Leung

[permalink] [raw]
Subject: Re: [PATCH] rtl8187: Add callback for get_tsf

2010/1/26 G?bor Stefanik <[email protected]>:
> On Wed, Jan 27, 2010 at 12:45 AM, Larry Finger
> <[email protected]> wrote:
>> Signed-off-by: Larry Finger <[email protected]>
>> ---
>>
>> Index: wireless-testing/drivers/net/wireless/rtl818x/rtl8187_dev.c
>> ===================================================================
>> --- wireless-testing.orig/drivers/net/wireless/rtl818x/rtl8187_dev.c
>> +++ wireless-testing/drivers/net/wireless/rtl818x/rtl8187_dev.c
>> @@ -1265,6 +1265,14 @@ static int rtl8187_conf_tx(struct ieee80
>> ? ? ? ?return 0;
>> ?}
>>
>> +static u64 rtl8187_get_tsf(struct ieee80211_hw *dev)
>> +{
>> + ? ? ? struct rtl8187_priv *priv = dev->priv;
>> +
>> + ? ? ? return rtl818x_ioread32(priv, &priv->map->TSFT[0]) |
>> + ? ? ? ? ? ? ?(u64)(rtl818x_ioread32(priv, &priv->map->TSFT[1])) << 32;
>> +}
>> +
>> ?static const struct ieee80211_ops rtl8187_ops = {
>> ? ? ? ?.tx ? ? ? ? ? ? ? ? ? ? = rtl8187_tx,
>> ? ? ? ?.start ? ? ? ? ? ? ? ? ?= rtl8187_start,
>> @@ -1276,7 +1284,8 @@ static const struct ieee80211_ops rtl818
>> ? ? ? ?.prepare_multicast ? ? ?= rtl8187_prepare_multicast,
>> ? ? ? ?.configure_filter ? ? ? = rtl8187_configure_filter,
>> ? ? ? ?.conf_tx ? ? ? ? ? ? ? ?= rtl8187_conf_tx,
>> - ? ? ? .rfkill_poll ? ? ? ? ? ?= rtl8187_rfkill_poll
>> + ? ? ? .rfkill_poll ? ? ? ? ? ?= rtl8187_rfkill_poll,
>> + ? ? ? .get_tsf ? ? ? ? ? ? ? ?= rtl8187_get_tsf
>
> Please put a comma at the end of this line. It doesn't really matter,
> but this is the accepted kernel coding style.

Hmm, interesting - is that written down somewhere? Indeed a quick greb
through the wireless driver source says
most have a "," (but not always). OTOH, I seem to recall that one of
gcc's warning options will complain about empy elements in a list like
that - e.g. {a,b,c,} can trigger a gcc warning message if one of
-W<something> is specified.

>
>> ?};
>>
>> ?static void rtl8187_eeprom_register_read(struct eeprom_93cx6 *eeprom)
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
>> the body of a message to [email protected]
>> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>>
>
>
>
> --
> Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to [email protected]
> More majordomo info at ?http://vger.kernel.org/majordomo-info.html
>