All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv2 bluetooth-next 0/2] ieee802154: correct sifs handling and new defines
@ 2015-03-04 11:24 Alexander Aring
  2015-03-04 11:24 ` [PATCHv2 bluetooth-next 1/2] mac802154: correct max sifs size handling Alexander Aring
  2015-03-04 11:24 ` [PATCHv2 bluetooth-next 2/2] ieee802154: replace magic numbers by standard defines Alexander Aring
  0 siblings, 2 replies; 4+ messages in thread
From: Alexander Aring @ 2015-03-04 11:24 UTC (permalink / raw)
  To: linux-wpan; +Cc: kernel, mkl, Alexander Aring

Hi,

this series corrects the interframe spacing time when
IEEE802154_HW_TX_OMIT_CKSUM phy flag is set. This flag is set when the
transceiver sets the crc on his own.

Also I add some defines from 802.15.4 standard. There is still some magic
values for IEEE802154_FCS_LEN everywhere in mac802154 implementation. We
should replace these values with IEEE802154_FCS_LEN later.

- Alex

changes since v2:
 - squash patch 3 into 2, which was suggested by Marc Kleine-Budde.

Alexander Aring (2):
  mac802154: correct max sifs size handling
  ieee802154: replace magic numbers by standard defines

 include/linux/ieee802154.h |  2 ++
 net/mac802154/util.c       | 13 ++++++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

-- 
2.3.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCHv2 bluetooth-next 1/2] mac802154: correct max sifs size handling
  2015-03-04 11:24 [PATCHv2 bluetooth-next 0/2] ieee802154: correct sifs handling and new defines Alexander Aring
@ 2015-03-04 11:24 ` Alexander Aring
  2015-03-04 11:24 ` [PATCHv2 bluetooth-next 2/2] ieee802154: replace magic numbers by standard defines Alexander Aring
  1 sibling, 0 replies; 4+ messages in thread
From: Alexander Aring @ 2015-03-04 11:24 UTC (permalink / raw)
  To: linux-wpan; +Cc: kernel, mkl, Alexander Aring

This patch fix the max sifs size correction when the
IEEE802154_HW_TX_OMIT_CKSUM flag is set. With this flag the sk_buff
doesn't contain the CRC, because the transceiver will add the CRC
while transmit.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
---
 net/mac802154/util.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/net/mac802154/util.c b/net/mac802154/util.c
index 5fc9790..04e13d9 100644
--- a/net/mac802154/util.c
+++ b/net/mac802154/util.c
@@ -65,8 +65,18 @@ void ieee802154_xmit_complete(struct ieee802154_hw *hw, struct sk_buff *skb,
 {
 	if (ifs_handling) {
 		struct ieee802154_local *local = hw_to_local(hw);
+		u8 max_sifs_size;
 
-		if (skb->len > 18)
+		/* If transceiver sets CRC on his own we need to use lifs
+		 * threshold len above 16 otherwise 18, because it's not
+		 * part of skb->len.
+		 */
+		if (hw->flags & IEEE802154_HW_TX_OMIT_CKSUM)
+			max_sifs_size = 16;
+		else
+			max_sifs_size = 18;
+
+		if (skb->len > max_sifs_size)
 			hrtimer_start(&local->ifs_timer,
 				      ktime_set(0, hw->phy->lifs_period * NSEC_PER_USEC),
 				      HRTIMER_MODE_REL);
-- 
2.3.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCHv2 bluetooth-next 2/2] ieee802154: replace magic numbers by standard defines
  2015-03-04 11:24 [PATCHv2 bluetooth-next 0/2] ieee802154: correct sifs handling and new defines Alexander Aring
  2015-03-04 11:24 ` [PATCHv2 bluetooth-next 1/2] mac802154: correct max sifs size handling Alexander Aring
@ 2015-03-04 11:24 ` Alexander Aring
  2015-03-04 11:31   ` Marc Kleine-Budde
  1 sibling, 1 reply; 4+ messages in thread
From: Alexander Aring @ 2015-03-04 11:24 UTC (permalink / raw)
  To: linux-wpan; +Cc: kernel, mkl, Alexander Aring

This patch adds a define for the max sifs frame size value and frame check
sequence according to 802.15.4 standard.

Signed-off-by: Alexander Aring <alex.aring@gmail.com>
---
 include/linux/ieee802154.h | 2 ++
 net/mac802154/util.c       | 5 +++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/include/linux/ieee802154.h b/include/linux/ieee802154.h
index 40b0ab9..8872ca1 100644
--- a/include/linux/ieee802154.h
+++ b/include/linux/ieee802154.h
@@ -30,6 +30,7 @@
 #define IEEE802154_MTU			127
 #define IEEE802154_ACK_PSDU_LEN		5
 #define IEEE802154_MIN_PSDU_LEN		9
+#define IEEE802154_FCS_LEN		2
 
 #define IEEE802154_PAN_ID_BROADCAST	0xffff
 #define IEEE802154_ADDR_SHORT_BROADCAST	0xffff
@@ -39,6 +40,7 @@
 
 #define IEEE802154_LIFS_PERIOD		40
 #define IEEE802154_SIFS_PERIOD		12
+#define IEEE802154_MAX_SIFS_FRAME_SIZE	18
 
 #define IEEE802154_MAX_CHANNEL		26
 #define IEEE802154_MAX_PAGE		31
diff --git a/net/mac802154/util.c b/net/mac802154/util.c
index 04e13d9..150bf80 100644
--- a/net/mac802154/util.c
+++ b/net/mac802154/util.c
@@ -72,9 +72,10 @@ void ieee802154_xmit_complete(struct ieee802154_hw *hw, struct sk_buff *skb,
 		 * part of skb->len.
 		 */
 		if (hw->flags & IEEE802154_HW_TX_OMIT_CKSUM)
-			max_sifs_size = 16;
+			max_sifs_size = IEEE802154_MAX_SIFS_FRAME_SIZE -
+					IEEE802154_FCS_LEN;
 		else
-			max_sifs_size = 18;
+			max_sifs_size = IEEE802154_MAX_SIFS_FRAME_SIZE;
 
 		if (skb->len > max_sifs_size)
 			hrtimer_start(&local->ifs_timer,
-- 
2.3.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCHv2 bluetooth-next 2/2] ieee802154: replace magic numbers by standard defines
  2015-03-04 11:24 ` [PATCHv2 bluetooth-next 2/2] ieee802154: replace magic numbers by standard defines Alexander Aring
@ 2015-03-04 11:31   ` Marc Kleine-Budde
  0 siblings, 0 replies; 4+ messages in thread
From: Marc Kleine-Budde @ 2015-03-04 11:31 UTC (permalink / raw)
  To: Alexander Aring, linux-wpan; +Cc: kernel

[-- Attachment #1: Type: text/plain, Size: 553 bytes --]

On 03/04/2015 12:24 PM, Alexander Aring wrote:
> This patch adds a define for the max sifs frame size value and frame check
> sequence according to 802.15.4 standard.

and now squash 2 into 1 :) It make no sense to first add magic numbers
and then replace them.

Marc

-- 
Pengutronix e.K.                  | Marc Kleine-Budde           |
Industrial Linux Solutions        | Phone: +49-231-2826-924     |
Vertretung West/Dortmund          | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686  | http://www.pengutronix.de   |


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-03-04 11:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-04 11:24 [PATCHv2 bluetooth-next 0/2] ieee802154: correct sifs handling and new defines Alexander Aring
2015-03-04 11:24 ` [PATCHv2 bluetooth-next 1/2] mac802154: correct max sifs size handling Alexander Aring
2015-03-04 11:24 ` [PATCHv2 bluetooth-next 2/2] ieee802154: replace magic numbers by standard defines Alexander Aring
2015-03-04 11:31   ` Marc Kleine-Budde

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.