]> git.baikalelectronics.ru Git - kernel.git/commitdiff
staging: vt6656: Move vnt_get_frame_time and vnt_get_phy_field to rxtx
authorMalcolm Priestley <tvboxspy@gmail.com>
Sun, 19 Apr 2020 13:43:46 +0000 (14:43 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Apr 2020 11:33:36 +0000 (13:33 +0200)
These functions are only used by rxtx so move them and their arrays
used with them abbreviating the function description.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Link: https://lore.kernel.org/r/2a4fd665-2fe1-f1ad-1e9a-1b01f698ea79@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vt6656/baseband.c
drivers/staging/vt6656/baseband.h
drivers/staging/vt6656/rxtx.c
drivers/staging/vt6656/rxtx.h

index d21a9cf0afe545064bfa752e7a25ccbfda9ec7bb..e7000bba644a092a830a275b107a9ae8b1ecae7c 100644 (file)
@@ -112,10 +112,6 @@ static u8 vnt_vt3184_vt3226d0[] = {
        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00  /* 0xff */
 };
 
-static const u16 vnt_frame_time[MAX_RATE] = {
-       10, 20, 55, 110, 24, 36, 48, 72, 96, 144, 192, 216
-};
-
 struct vnt_threshold {
        u8 bb_pre_ed_rssi;
        u8 cr_201;
@@ -196,141 +192,6 @@ static const struct vnt_threshold vt3342_vnt_threshold[] = {
        {41, 0xff, 0x00}
 };
 
-static const u8 vnt_phy_signal[] = {
-       0x00,   /* RATE_1M  */
-       0x01,   /* RATE_2M  */
-       0x02,   /* RATE_5M  */
-       0x03,   /* RATE_11M */
-       0x8b,   /* RATE_6M  */
-       0x8f,   /* RATE_9M  */
-       0x8a,   /* RATE_12M */
-       0x8e,   /* RATE_18M */
-       0x89,   /* RATE_24M */
-       0x8d,   /* RATE_36M */
-       0x88,   /* RATE_48M */
-       0x8c    /* RATE_54M */
-};
-
-/*
- * Description: Calculate data frame transmitting time
- *
- * Parameters:
- *  In:
- *     preamble_type   - Preamble Type
- *     pkt_type        - PK_TYPE_11A, PK_TYPE_11B, PK_TYPE_11GB, PK_TYPE_11GA
- *     frame_length    - Baseband Type
- *     tx_rate         - Tx Rate
- *  Out:
- *
- * Return Value: FrameTime
- *
- */
-unsigned int vnt_get_frame_time(u8 preamble_type, u8 pkt_type,
-                               unsigned int frame_length, u16 tx_rate)
-{
-       unsigned int frame_time;
-       unsigned int preamble;
-       unsigned int rate;
-
-       if (tx_rate > RATE_54M)
-               return 0;
-
-       rate = (unsigned int)vnt_frame_time[tx_rate];
-
-       if (tx_rate <= RATE_11M) {
-               if (preamble_type == PREAMBLE_SHORT)
-                       preamble = 96;
-               else
-                       preamble = 192;
-
-               frame_time = DIV_ROUND_UP(frame_length * 80, rate);
-               return preamble + frame_time;
-       }
-
-       frame_time = DIV_ROUND_UP(frame_length * 8 + 22, rate);
-       frame_time = frame_time * 4;
-
-       if (pkt_type != PK_TYPE_11A)
-               frame_time += 6;
-       return 20 + frame_time;
-}
-
-/*
- * Description: Calculate Length, Service, and Signal fields of Phy for Tx
- *
- * Parameters:
- *  In:
- *      priv         - Device Structure
- *      frame_length   - Tx Frame Length
- *      tx_rate           - Tx Rate
- *  Out:
- *     struct vnt_phy_field *phy
- *             - pointer to Phy Length field
- *             - pointer to Phy Service field
- *             - pointer to Phy Signal field
- *
- * Return Value: none
- *
- */
-void vnt_get_phy_field(struct vnt_private *priv, u32 frame_length,
-                      u16 tx_rate, u8 pkt_type, struct vnt_phy_field *phy)
-{
-       u32 bit_count;
-       u32 count = 0;
-       u32 tmp;
-       int ext_bit;
-       int i;
-       u8 mask = 0;
-       u8 preamble_type = priv->preamble_type;
-
-       bit_count = frame_length * 8;
-       ext_bit = false;
-
-       switch (tx_rate) {
-       case RATE_1M:
-               count = bit_count;
-               break;
-       case RATE_2M:
-               count = bit_count / 2;
-               break;
-       case RATE_5M:
-               count = DIV_ROUND_UP(bit_count * 10, 55);
-               break;
-       case RATE_11M:
-               count = bit_count / 11;
-               tmp = count * 11;
-
-               if (tmp != bit_count) {
-                       count++;
-
-                       if ((bit_count - tmp) <= 3)
-                               ext_bit = true;
-               }
-
-               break;
-       }
-
-       if (tx_rate > RATE_11M) {
-               if (pkt_type == PK_TYPE_11A)
-                       mask = BIT(4);
-       } else if (tx_rate > RATE_1M) {
-               if (preamble_type == PREAMBLE_SHORT)
-                       mask = BIT(3);
-       }
-
-       i = tx_rate > RATE_54M ? RATE_54M : tx_rate;
-       phy->signal = vnt_phy_signal[i] | mask;
-       phy->service = 0x00;
-
-       if (pkt_type == PK_TYPE_11B) {
-               if (ext_bit)
-                       phy->service |= 0x80;
-               phy->len = cpu_to_le16((u16)count);
-       } else {
-               phy->len = cpu_to_le16((u16)frame_length);
-       }
-}
-
 /*
  * Description: Set Antenna mode
  *
index dc42aa6ae1d937533b69af7c73ca23edb6d5cff5..ee7325d942fe5fc6069c55f0bd0eac2d8985dc5f 100644 (file)
 #define TOP_RATE_2M         0x00200000
 #define TOP_RATE_1M         0x00100000
 
-/* Length, Service, and Signal fields of Phy for Tx */
-struct vnt_phy_field {
-       u8 signal;
-       u8 service;
-       __le16 len;
-} __packed;
-
-unsigned int vnt_get_frame_time(u8 preamble_type, u8 pkt_type,
-                               unsigned int frame_length, u16 tx_rate);
-
-void vnt_get_phy_field(struct vnt_private *priv, u32 frame_length,
-                      u16 tx_rate, u8 pkt_type, struct vnt_phy_field *phy);
-
 int vnt_set_short_slot_time(struct vnt_private *priv);
 void vnt_set_vga_gain_offset(struct vnt_private *priv, u8 data);
 int vnt_set_antenna_mode(struct vnt_private *priv, u8 antenna_mode);
index 8363d54cd8213ec1e455ae0d72a588249e784957..335ef4fd104f9607d0863f60d0b87aac639de6c2 100644 (file)
@@ -45,6 +45,25 @@ static const u16 vnt_time_stampoff[2][MAX_RATE] = {
 #define DATADUR_B       10
 #define DATADUR_A       11
 
+static const u16 vnt_frame_time[MAX_RATE] = {
+       10, 20, 55, 110, 24, 36, 48, 72, 96, 144, 192, 216
+};
+
+static const u8 vnt_phy_signal[] = {
+       0x00,   /* RATE_1M  */
+       0x01,   /* RATE_2M  */
+       0x02,   /* RATE_5M  */
+       0x03,   /* RATE_11M */
+       0x8b,   /* RATE_6M  */
+       0x8f,   /* RATE_9M  */
+       0x8a,   /* RATE_12M */
+       0x8e,   /* RATE_18M */
+       0x89,   /* RATE_24M */
+       0x8d,   /* RATE_36M */
+       0x88,   /* RATE_48M */
+       0x8c    /* RATE_54M */
+};
+
 static struct vnt_usb_send_context
        *vnt_get_free_context(struct vnt_private *priv)
 {
@@ -78,6 +97,98 @@ static struct vnt_usb_send_context
        return NULL;
 }
 
+/* Frame time for Tx */
+static unsigned int vnt_get_frame_time(u8 preamble_type, u8 pkt_type,
+                                      unsigned int frame_length, u16 tx_rate)
+{
+       unsigned int frame_time;
+       unsigned int preamble;
+       unsigned int rate;
+
+       if (tx_rate > RATE_54M)
+               return 0;
+
+       rate = (unsigned int)vnt_frame_time[tx_rate];
+
+       if (tx_rate <= RATE_11M) {
+               if (preamble_type == PREAMBLE_SHORT)
+                       preamble = 96;
+               else
+                       preamble = 192;
+
+               frame_time = DIV_ROUND_UP(frame_length * 80, rate);
+               return preamble + frame_time;
+       }
+
+       frame_time = DIV_ROUND_UP(frame_length * 8 + 22, rate);
+       frame_time = frame_time * 4;
+
+       if (pkt_type != PK_TYPE_11A)
+               frame_time += 6;
+       return 20 + frame_time;
+}
+
+/* Get Length, Service, and Signal fields of Phy for Tx */
+static void vnt_get_phy_field(struct vnt_private *priv, u32 frame_length,
+                             u16 tx_rate, u8 pkt_type,
+                             struct vnt_phy_field *phy)
+{
+       u32 bit_count;
+       u32 count = 0;
+       u32 tmp;
+       int ext_bit;
+       int i;
+       u8 mask = 0;
+       u8 preamble_type = priv->preamble_type;
+
+       bit_count = frame_length * 8;
+       ext_bit = false;
+
+       switch (tx_rate) {
+       case RATE_1M:
+               count = bit_count;
+               break;
+       case RATE_2M:
+               count = bit_count / 2;
+               break;
+       case RATE_5M:
+               count = DIV_ROUND_UP(bit_count * 10, 55);
+               break;
+       case RATE_11M:
+               count = bit_count / 11;
+               tmp = count * 11;
+
+               if (tmp != bit_count) {
+                       count++;
+
+                       if ((bit_count - tmp) <= 3)
+                               ext_bit = true;
+               }
+
+               break;
+       }
+
+       if (tx_rate > RATE_11M) {
+               if (pkt_type == PK_TYPE_11A)
+                       mask = BIT(4);
+       } else if (tx_rate > RATE_1M) {
+               if (preamble_type == PREAMBLE_SHORT)
+                       mask = BIT(3);
+       }
+
+       i = tx_rate > RATE_54M ? RATE_54M : tx_rate;
+       phy->signal = vnt_phy_signal[i] | mask;
+       phy->service = 0x00;
+
+       if (pkt_type == PK_TYPE_11B) {
+               if (ext_bit)
+                       phy->service |= 0x80;
+               phy->len = cpu_to_le16((u16)count);
+       } else {
+               phy->len = cpu_to_le16((u16)frame_length);
+       }
+}
+
 static __le16 vnt_time_stamp_off(struct vnt_private *priv, u16 rate)
 {
        return cpu_to_le16(vnt_time_stampoff[priv->preamble_type % 2]
index 0e6226af7d419edd6fbbb12063c0992dd94cc97f..3c36a4b893dc6f9ebab6316ea7446e790a5fd707 100644 (file)
 #define DEFAULT_MGN_LIFETIME_RES_64us  125  /* 64us */
 #define DEFAULT_MSDU_LIFETIME_RES_64us  8000
 
+/* Length, Service, and Signal fields of Phy for Tx */
+struct vnt_phy_field {
+       u8 signal;
+       u8 service;
+       __le16 len;
+} __packed;
+
 /* MIC HDR data header */
 struct vnt_mic_hdr {
        u8 id;