* [PATCH 0/2] staging: vt6656: Refactor the vnt_get_phy_field function @ 2020-04-10 11:28 ` Oscar Carter 0 siblings, 0 replies; 14+ messages in thread From: Oscar Carter @ 2020-04-10 11:28 UTC (permalink / raw) To: Forest Bond, Greg Kroah-Hartman Cc: Oscar Carter, Malcolm Priestley, Quentin Deslandes, Amir Mahdi Ghorbanian, devel, linux-kernel This patch series makes a refactor of the vnt_get_phy_field function through two patches. The first one refactors the assignment of the "phy->signal" variable using a constant array with the correct values for every rate. The second patch removes duplicate code for the assignment of the "phy->service" variable by putting it outside the if-else statement due to it's the same for the two branches. Oscar Carter (2): staging: vt6656: Refactor the assignment of the phy->signal variable staging: vt6656: Remove duplicate code for the phy->service assignment drivers/staging/vt6656/baseband.c | 104 +++++++----------------------- 1 file changed, 22 insertions(+), 82 deletions(-) -- 2.20.1 ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 0/2] staging: vt6656: Refactor the vnt_get_phy_field function @ 2020-04-10 11:28 ` Oscar Carter 0 siblings, 0 replies; 14+ messages in thread From: Oscar Carter @ 2020-04-10 11:28 UTC (permalink / raw) To: Forest Bond, Greg Kroah-Hartman Cc: devel, Oscar Carter, Malcolm Priestley, linux-kernel This patch series makes a refactor of the vnt_get_phy_field function through two patches. The first one refactors the assignment of the "phy->signal" variable using a constant array with the correct values for every rate. The second patch removes duplicate code for the assignment of the "phy->service" variable by putting it outside the if-else statement due to it's the same for the two branches. Oscar Carter (2): staging: vt6656: Refactor the assignment of the phy->signal variable staging: vt6656: Remove duplicate code for the phy->service assignment drivers/staging/vt6656/baseband.c | 104 +++++++----------------------- 1 file changed, 22 insertions(+), 82 deletions(-) -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 1/2] staging: vt6656: Refactor the assignment of the phy->signal variable 2020-04-10 11:28 ` Oscar Carter @ 2020-04-10 11:28 ` Oscar Carter -1 siblings, 0 replies; 14+ messages in thread From: Oscar Carter @ 2020-04-10 11:28 UTC (permalink / raw) To: Forest Bond, Greg Kroah-Hartman Cc: Oscar Carter, Malcolm Priestley, Quentin Deslandes, Amir Mahdi Ghorbanian, devel, linux-kernel Create a constant array with the values of the "phy->signal" for every rate. Remove all "phy->signal" assignments inside the switch statement and replace these with a single reading from the new vnt_phy_signal array. Signed-off-by: Oscar Carter <oscar.carter@gmx.com> --- drivers/staging/vt6656/baseband.c | 101 +++++++----------------------- 1 file changed, 21 insertions(+), 80 deletions(-) diff --git a/drivers/staging/vt6656/baseband.c b/drivers/staging/vt6656/baseband.c index a19a563d8bcc..47f93bf6e07b 100644 --- a/drivers/staging/vt6656/baseband.c +++ b/drivers/staging/vt6656/baseband.c @@ -115,6 +115,21 @@ 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[][2] = { + {0x00, 0x00}, /* RATE_1M */ + {0x01, 0x09}, /* RATE_2M */ + {0x02, 0x0a}, /* RATE_5M */ + {0x03, 0x0b}, /* RATE_11M */ + {0x8b, 0x9b}, /* RATE_6M */ + {0x8f, 0x9f}, /* RATE_9M */ + {0x8a, 0x9a}, /* RATE_12M */ + {0x8e, 0x9e}, /* RATE_18M */ + {0x89, 0x99}, /* RATE_24M */ + {0x8d, 0x9d}, /* RATE_36M */ + {0x88, 0x98}, /* RATE_48M */ + {0x8c, 0x9c} /* RATE_54M */ +}; + /* * Description: Calculate data frame transmitting time * @@ -183,6 +198,7 @@ void vnt_get_phy_field(struct vnt_private *priv, u32 frame_length, u32 count = 0; u32 tmp; int ext_bit; + int i, j; u8 preamble_type = priv->preamble_type; bit_count = frame_length * 8; @@ -191,27 +207,12 @@ void vnt_get_phy_field(struct vnt_private *priv, u32 frame_length, switch (tx_rate) { case RATE_1M: count = bit_count; - - phy->signal = 0x00; - break; case RATE_2M: count = bit_count / 2; - - if (preamble_type == 1) - phy->signal = 0x09; - else - phy->signal = 0x01; - break; case RATE_5M: count = DIV_ROUND_UP(bit_count * 10, 55); - - if (preamble_type == 1) - phy->signal = 0x0a; - else - phy->signal = 0x02; - break; case RATE_11M: count = bit_count / 11; @@ -224,74 +225,14 @@ void vnt_get_phy_field(struct vnt_private *priv, u32 frame_length, ext_bit = true; } - if (preamble_type == 1) - phy->signal = 0x0b; - else - phy->signal = 0x03; - - break; - case RATE_6M: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x9b; - else - phy->signal = 0x8b; - - break; - case RATE_9M: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x9f; - else - phy->signal = 0x8f; - - break; - case RATE_12M: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x9a; - else - phy->signal = 0x8a; - - break; - case RATE_18M: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x9e; - else - phy->signal = 0x8e; - - break; - case RATE_24M: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x99; - else - phy->signal = 0x89; - break; - case RATE_36M: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x9d; - else - phy->signal = 0x8d; + } - break; - case RATE_48M: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x98; - else - phy->signal = 0x88; + i = tx_rate > RATE_54M ? RATE_54M : tx_rate; + j = tx_rate > RATE_11M ? pkt_type == PK_TYPE_11A + : preamble_type == PREAMBLE_SHORT; - break; - case RATE_54M: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x9c; - else - phy->signal = 0x8c; - break; - default: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x9c; - else - phy->signal = 0x8c; - break; - } + phy->signal = vnt_phy_signal[i][j]; if (pkt_type == PK_TYPE_11B) { phy->service = 0x00; -- 2.20.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 1/2] staging: vt6656: Refactor the assignment of the phy->signal variable @ 2020-04-10 11:28 ` Oscar Carter 0 siblings, 0 replies; 14+ messages in thread From: Oscar Carter @ 2020-04-10 11:28 UTC (permalink / raw) To: Forest Bond, Greg Kroah-Hartman Cc: devel, Oscar Carter, Malcolm Priestley, linux-kernel Create a constant array with the values of the "phy->signal" for every rate. Remove all "phy->signal" assignments inside the switch statement and replace these with a single reading from the new vnt_phy_signal array. Signed-off-by: Oscar Carter <oscar.carter@gmx.com> --- drivers/staging/vt6656/baseband.c | 101 +++++++----------------------- 1 file changed, 21 insertions(+), 80 deletions(-) diff --git a/drivers/staging/vt6656/baseband.c b/drivers/staging/vt6656/baseband.c index a19a563d8bcc..47f93bf6e07b 100644 --- a/drivers/staging/vt6656/baseband.c +++ b/drivers/staging/vt6656/baseband.c @@ -115,6 +115,21 @@ 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[][2] = { + {0x00, 0x00}, /* RATE_1M */ + {0x01, 0x09}, /* RATE_2M */ + {0x02, 0x0a}, /* RATE_5M */ + {0x03, 0x0b}, /* RATE_11M */ + {0x8b, 0x9b}, /* RATE_6M */ + {0x8f, 0x9f}, /* RATE_9M */ + {0x8a, 0x9a}, /* RATE_12M */ + {0x8e, 0x9e}, /* RATE_18M */ + {0x89, 0x99}, /* RATE_24M */ + {0x8d, 0x9d}, /* RATE_36M */ + {0x88, 0x98}, /* RATE_48M */ + {0x8c, 0x9c} /* RATE_54M */ +}; + /* * Description: Calculate data frame transmitting time * @@ -183,6 +198,7 @@ void vnt_get_phy_field(struct vnt_private *priv, u32 frame_length, u32 count = 0; u32 tmp; int ext_bit; + int i, j; u8 preamble_type = priv->preamble_type; bit_count = frame_length * 8; @@ -191,27 +207,12 @@ void vnt_get_phy_field(struct vnt_private *priv, u32 frame_length, switch (tx_rate) { case RATE_1M: count = bit_count; - - phy->signal = 0x00; - break; case RATE_2M: count = bit_count / 2; - - if (preamble_type == 1) - phy->signal = 0x09; - else - phy->signal = 0x01; - break; case RATE_5M: count = DIV_ROUND_UP(bit_count * 10, 55); - - if (preamble_type == 1) - phy->signal = 0x0a; - else - phy->signal = 0x02; - break; case RATE_11M: count = bit_count / 11; @@ -224,74 +225,14 @@ void vnt_get_phy_field(struct vnt_private *priv, u32 frame_length, ext_bit = true; } - if (preamble_type == 1) - phy->signal = 0x0b; - else - phy->signal = 0x03; - - break; - case RATE_6M: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x9b; - else - phy->signal = 0x8b; - - break; - case RATE_9M: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x9f; - else - phy->signal = 0x8f; - - break; - case RATE_12M: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x9a; - else - phy->signal = 0x8a; - - break; - case RATE_18M: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x9e; - else - phy->signal = 0x8e; - - break; - case RATE_24M: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x99; - else - phy->signal = 0x89; - break; - case RATE_36M: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x9d; - else - phy->signal = 0x8d; + } - break; - case RATE_48M: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x98; - else - phy->signal = 0x88; + i = tx_rate > RATE_54M ? RATE_54M : tx_rate; + j = tx_rate > RATE_11M ? pkt_type == PK_TYPE_11A + : preamble_type == PREAMBLE_SHORT; - break; - case RATE_54M: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x9c; - else - phy->signal = 0x8c; - break; - default: - if (pkt_type == PK_TYPE_11A) - phy->signal = 0x9c; - else - phy->signal = 0x8c; - break; - } + phy->signal = vnt_phy_signal[i][j]; if (pkt_type == PK_TYPE_11B) { phy->service = 0x00; -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] staging: vt6656: Refactor the assignment of the phy->signal variable 2020-04-10 11:28 ` Oscar Carter @ 2020-04-10 15:37 ` Malcolm Priestley -1 siblings, 0 replies; 14+ messages in thread From: Malcolm Priestley @ 2020-04-10 15:37 UTC (permalink / raw) To: Oscar Carter, Forest Bond, Greg Kroah-Hartman Cc: Quentin Deslandes, Amir Mahdi Ghorbanian, devel, linux-kernel On 10/04/2020 12:28, Oscar Carter wrote: > Create a constant array with the values of the "phy->signal" for every > rate. Remove all "phy->signal" assignments inside the switch statement > and replace these with a single reading from the new vnt_phy_signal > array. > > Signed-off-by: Oscar Carter <oscar.carter@gmx.com> > --- > drivers/staging/vt6656/baseband.c | 101 +++++++----------------------- > 1 file changed, 21 insertions(+), 80 deletions(-) > > diff --git a/drivers/staging/vt6656/baseband.c b/drivers/staging/vt6656/baseband.c > index a19a563d8bcc..47f93bf6e07b 100644 > --- a/drivers/staging/vt6656/baseband.c > +++ b/drivers/staging/vt6656/baseband.c > @@ -115,6 +115,21 @@ static const u16 vnt_frame_time[MAX_RATE] = { > 10, 20, 55, 110, 24, 36, 48, 72, 96, 144, 192, 216 > }; Actually you don't need the second values > > +static const u8 vnt_phy_signal[][2] = { > + {0x00, 0x00}, /* RATE_1M */ The driver would never attempt use preamble at this rate so it's safe to include in with the next 3 rates > + {0x01, 0x09}, /* RATE_2M */ > + {0x02, 0x0a}, /* RATE_5M */ > + {0x03, 0x0b}, /* RATE_11M */ just |= BIT(3) for preamble. > + {0x8b, 0x9b}, /* RATE_6M */ > + {0x8f, 0x9f}, /* RATE_9M */ > + {0x8a, 0x9a}, /* RATE_12M */ > + {0x8e, 0x9e}, /* RATE_18M */ > + {0x89, 0x99}, /* RATE_24M */ > + {0x8d, 0x9d}, /* RATE_36M */ > + {0x88, 0x98}, /* RATE_48M */ > + {0x8c, 0x9c} /* RATE_54M */ Again just |= BIT(4) for PK_TYPE_11A Regards Malcolm ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] staging: vt6656: Refactor the assignment of the phy->signal variable @ 2020-04-10 15:37 ` Malcolm Priestley 0 siblings, 0 replies; 14+ messages in thread From: Malcolm Priestley @ 2020-04-10 15:37 UTC (permalink / raw) To: Oscar Carter, Forest Bond, Greg Kroah-Hartman; +Cc: devel, linux-kernel On 10/04/2020 12:28, Oscar Carter wrote: > Create a constant array with the values of the "phy->signal" for every > rate. Remove all "phy->signal" assignments inside the switch statement > and replace these with a single reading from the new vnt_phy_signal > array. > > Signed-off-by: Oscar Carter <oscar.carter@gmx.com> > --- > drivers/staging/vt6656/baseband.c | 101 +++++++----------------------- > 1 file changed, 21 insertions(+), 80 deletions(-) > > diff --git a/drivers/staging/vt6656/baseband.c b/drivers/staging/vt6656/baseband.c > index a19a563d8bcc..47f93bf6e07b 100644 > --- a/drivers/staging/vt6656/baseband.c > +++ b/drivers/staging/vt6656/baseband.c > @@ -115,6 +115,21 @@ static const u16 vnt_frame_time[MAX_RATE] = { > 10, 20, 55, 110, 24, 36, 48, 72, 96, 144, 192, 216 > }; Actually you don't need the second values > > +static const u8 vnt_phy_signal[][2] = { > + {0x00, 0x00}, /* RATE_1M */ The driver would never attempt use preamble at this rate so it's safe to include in with the next 3 rates > + {0x01, 0x09}, /* RATE_2M */ > + {0x02, 0x0a}, /* RATE_5M */ > + {0x03, 0x0b}, /* RATE_11M */ just |= BIT(3) for preamble. > + {0x8b, 0x9b}, /* RATE_6M */ > + {0x8f, 0x9f}, /* RATE_9M */ > + {0x8a, 0x9a}, /* RATE_12M */ > + {0x8e, 0x9e}, /* RATE_18M */ > + {0x89, 0x99}, /* RATE_24M */ > + {0x8d, 0x9d}, /* RATE_36M */ > + {0x88, 0x98}, /* RATE_48M */ > + {0x8c, 0x9c} /* RATE_54M */ Again just |= BIT(4) for PK_TYPE_11A Regards Malcolm _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] staging: vt6656: Refactor the assignment of the phy->signal variable 2020-04-10 15:37 ` Malcolm Priestley @ 2020-04-10 15:59 ` Oscar Carter -1 siblings, 0 replies; 14+ messages in thread From: Oscar Carter @ 2020-04-10 15:59 UTC (permalink / raw) To: Malcolm Priestley Cc: Oscar Carter, Forest Bond, Greg Kroah-Hartman, Quentin Deslandes, Amir Mahdi Ghorbanian, devel, linux-kernel On Fri, Apr 10, 2020 at 04:37:59PM +0100, Malcolm Priestley wrote: > > > On 10/04/2020 12:28, Oscar Carter wrote: > > Create a constant array with the values of the "phy->signal" for every > > rate. Remove all "phy->signal" assignments inside the switch statement > > and replace these with a single reading from the new vnt_phy_signal > > array. > > > > Signed-off-by: Oscar Carter <oscar.carter@gmx.com> > > --- > > drivers/staging/vt6656/baseband.c | 101 +++++++----------------------- > > 1 file changed, 21 insertions(+), 80 deletions(-) > > > > diff --git a/drivers/staging/vt6656/baseband.c b/drivers/staging/vt6656/baseband.c > > index a19a563d8bcc..47f93bf6e07b 100644 > > --- a/drivers/staging/vt6656/baseband.c > > +++ b/drivers/staging/vt6656/baseband.c > > @@ -115,6 +115,21 @@ static const u16 vnt_frame_time[MAX_RATE] = { > > 10, 20, 55, 110, 24, 36, 48, 72, 96, 144, 192, 216 > > }; > > Actually you don't need the second values Great. > > > > +static const u8 vnt_phy_signal[][2] = { > > + {0x00, 0x00}, /* RATE_1M */ > The driver would never attempt use preamble at this rate > so it's safe to include in with the next 3 rates > > > + {0x01, 0x09}, /* RATE_2M */ > > + {0x02, 0x0a}, /* RATE_5M */ > > + {0x03, 0x0b}, /* RATE_11M */ > just |= BIT(3) for preamble. > Ok, I apply this OR operation. > > + {0x8b, 0x9b}, /* RATE_6M */ > > + {0x8f, 0x9f}, /* RATE_9M */ > > + {0x8a, 0x9a}, /* RATE_12M */ > > + {0x8e, 0x9e}, /* RATE_18M */ > > + {0x89, 0x99}, /* RATE_24M */ > > + {0x8d, 0x9d}, /* RATE_36M */ > > + {0x88, 0x98}, /* RATE_48M */ > > + {0x8c, 0x9c} /* RATE_54M */ > > Again just |= BIT(4) for PK_TYPE_11A > And this one. > Regards > > Malcolm I will create a new version of this patch and I will resend it. Thanks, Oscar Carter ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] staging: vt6656: Refactor the assignment of the phy->signal variable @ 2020-04-10 15:59 ` Oscar Carter 0 siblings, 0 replies; 14+ messages in thread From: Oscar Carter @ 2020-04-10 15:59 UTC (permalink / raw) To: Malcolm Priestley Cc: devel, Oscar Carter, Greg Kroah-Hartman, linux-kernel, Forest Bond On Fri, Apr 10, 2020 at 04:37:59PM +0100, Malcolm Priestley wrote: > > > On 10/04/2020 12:28, Oscar Carter wrote: > > Create a constant array with the values of the "phy->signal" for every > > rate. Remove all "phy->signal" assignments inside the switch statement > > and replace these with a single reading from the new vnt_phy_signal > > array. > > > > Signed-off-by: Oscar Carter <oscar.carter@gmx.com> > > --- > > drivers/staging/vt6656/baseband.c | 101 +++++++----------------------- > > 1 file changed, 21 insertions(+), 80 deletions(-) > > > > diff --git a/drivers/staging/vt6656/baseband.c b/drivers/staging/vt6656/baseband.c > > index a19a563d8bcc..47f93bf6e07b 100644 > > --- a/drivers/staging/vt6656/baseband.c > > +++ b/drivers/staging/vt6656/baseband.c > > @@ -115,6 +115,21 @@ static const u16 vnt_frame_time[MAX_RATE] = { > > 10, 20, 55, 110, 24, 36, 48, 72, 96, 144, 192, 216 > > }; > > Actually you don't need the second values Great. > > > > +static const u8 vnt_phy_signal[][2] = { > > + {0x00, 0x00}, /* RATE_1M */ > The driver would never attempt use preamble at this rate > so it's safe to include in with the next 3 rates > > > + {0x01, 0x09}, /* RATE_2M */ > > + {0x02, 0x0a}, /* RATE_5M */ > > + {0x03, 0x0b}, /* RATE_11M */ > just |= BIT(3) for preamble. > Ok, I apply this OR operation. > > + {0x8b, 0x9b}, /* RATE_6M */ > > + {0x8f, 0x9f}, /* RATE_9M */ > > + {0x8a, 0x9a}, /* RATE_12M */ > > + {0x8e, 0x9e}, /* RATE_18M */ > > + {0x89, 0x99}, /* RATE_24M */ > > + {0x8d, 0x9d}, /* RATE_36M */ > > + {0x88, 0x98}, /* RATE_48M */ > > + {0x8c, 0x9c} /* RATE_54M */ > > Again just |= BIT(4) for PK_TYPE_11A > And this one. > Regards > > Malcolm I will create a new version of this patch and I will resend it. Thanks, Oscar Carter _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] staging: vt6656: Refactor the assignment of the phy->signal variable 2020-04-10 15:59 ` Oscar Carter @ 2020-04-10 16:40 ` Malcolm Priestley -1 siblings, 0 replies; 14+ messages in thread From: Malcolm Priestley @ 2020-04-10 16:40 UTC (permalink / raw) To: Oscar Carter Cc: Forest Bond, Greg Kroah-Hartman, Quentin Deslandes, Amir Mahdi Ghorbanian, devel, linux-kernel On 10/04/2020 16:59, Oscar Carter wrote: > On Fri, Apr 10, 2020 at 04:37:59PM +0100, Malcolm Priestley wrote: >> >> >> On 10/04/2020 12:28, Oscar Carter wrote: >>> Create a constant array with the values of the "phy->signal" for every >>> rate. Remove all "phy->signal" assignments inside the switch statement >>> and replace these with a single reading from the new vnt_phy_signal >>> array. >>> >>> Signed-off-by: Oscar Carter <oscar.carter@gmx.com> >>> --- >>> drivers/staging/vt6656/baseband.c | 101 +++++++----------------------- >>> 1 file changed, 21 insertions(+), 80 deletions(-) >>> >>> diff --git a/drivers/staging/vt6656/baseband.c b/drivers/staging/vt6656/baseband.c >>> index a19a563d8bcc..47f93bf6e07b 100644 >>> --- a/drivers/staging/vt6656/baseband.c >>> +++ b/drivers/staging/vt6656/baseband.c >>> @@ -115,6 +115,21 @@ static const u16 vnt_frame_time[MAX_RATE] = { >>> 10, 20, 55, 110, 24, 36, 48, 72, 96, 144, 192, 216 >>> }; >> >> Actually you don't need the second values > > Great. >>> >>> +static const u8 vnt_phy_signal[][2] = { >>> + {0x00, 0x00}, /* RATE_1M */ >> The driver would never attempt use preamble at this rate >> so it's safe to include in with the next 3 rates Sorry got this wrong the driver is trying to do preamble (short) at this rate and it is not working. So don't apply it to RATE_1M rate. Regards Malcolm ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] staging: vt6656: Refactor the assignment of the phy->signal variable @ 2020-04-10 16:40 ` Malcolm Priestley 0 siblings, 0 replies; 14+ messages in thread From: Malcolm Priestley @ 2020-04-10 16:40 UTC (permalink / raw) To: Oscar Carter; +Cc: devel, Greg Kroah-Hartman, linux-kernel, Forest Bond On 10/04/2020 16:59, Oscar Carter wrote: > On Fri, Apr 10, 2020 at 04:37:59PM +0100, Malcolm Priestley wrote: >> >> >> On 10/04/2020 12:28, Oscar Carter wrote: >>> Create a constant array with the values of the "phy->signal" for every >>> rate. Remove all "phy->signal" assignments inside the switch statement >>> and replace these with a single reading from the new vnt_phy_signal >>> array. >>> >>> Signed-off-by: Oscar Carter <oscar.carter@gmx.com> >>> --- >>> drivers/staging/vt6656/baseband.c | 101 +++++++----------------------- >>> 1 file changed, 21 insertions(+), 80 deletions(-) >>> >>> diff --git a/drivers/staging/vt6656/baseband.c b/drivers/staging/vt6656/baseband.c >>> index a19a563d8bcc..47f93bf6e07b 100644 >>> --- a/drivers/staging/vt6656/baseband.c >>> +++ b/drivers/staging/vt6656/baseband.c >>> @@ -115,6 +115,21 @@ static const u16 vnt_frame_time[MAX_RATE] = { >>> 10, 20, 55, 110, 24, 36, 48, 72, 96, 144, 192, 216 >>> }; >> >> Actually you don't need the second values > > Great. >>> >>> +static const u8 vnt_phy_signal[][2] = { >>> + {0x00, 0x00}, /* RATE_1M */ >> The driver would never attempt use preamble at this rate >> so it's safe to include in with the next 3 rates Sorry got this wrong the driver is trying to do preamble (short) at this rate and it is not working. So don't apply it to RATE_1M rate. Regards Malcolm _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] staging: vt6656: Refactor the assignment of the phy->signal variable 2020-04-10 16:40 ` Malcolm Priestley @ 2020-04-10 17:17 ` Oscar Carter -1 siblings, 0 replies; 14+ messages in thread From: Oscar Carter @ 2020-04-10 17:17 UTC (permalink / raw) To: Malcolm Priestley Cc: Forest Bond, Greg Kroah-Hartman, Quentin Deslandes, Amir Mahdi Ghorbanian, devel, linux-kernel On Fri, Apr 10, 2020 at 05:40:52PM +0100, Malcolm Priestley wrote: > > > On 10/04/2020 16:59, Oscar Carter wrote: > > On Fri, Apr 10, 2020 at 04:37:59PM +0100, Malcolm Priestley wrote: > > > > > > > > > On 10/04/2020 12:28, Oscar Carter wrote: > > > > Create a constant array with the values of the "phy->signal" for every > > > > rate. Remove all "phy->signal" assignments inside the switch statement > > > > and replace these with a single reading from the new vnt_phy_signal > > > > array. > > > > > > > > Signed-off-by: Oscar Carter <oscar.carter@gmx.com> > > > > --- > > > > drivers/staging/vt6656/baseband.c | 101 +++++++----------------------- > > > > 1 file changed, 21 insertions(+), 80 deletions(-) > > > > > > > > diff --git a/drivers/staging/vt6656/baseband.c b/drivers/staging/vt6656/baseband.c > > > > index a19a563d8bcc..47f93bf6e07b 100644 > > > > --- a/drivers/staging/vt6656/baseband.c > > > > +++ b/drivers/staging/vt6656/baseband.c > > > > @@ -115,6 +115,21 @@ static const u16 vnt_frame_time[MAX_RATE] = { > > > > 10, 20, 55, 110, 24, 36, 48, 72, 96, 144, 192, 216 > > > > }; > > > > > > Actually you don't need the second values > > > > Great. > > > > > > > > +static const u8 vnt_phy_signal[][2] = { > > > > + {0x00, 0x00}, /* RATE_1M */ > > > The driver would never attempt use preamble at this rate > > > so it's safe to include in with the next 3 rates > Sorry got this wrong the driver is trying to do preamble (short) > at this rate and it is not working. > > So don't apply it to RATE_1M rate. Ok, I take it into account. > > Regards > > Malcolm > Thanks, Oscar Carter ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] staging: vt6656: Refactor the assignment of the phy->signal variable @ 2020-04-10 17:17 ` Oscar Carter 0 siblings, 0 replies; 14+ messages in thread From: Oscar Carter @ 2020-04-10 17:17 UTC (permalink / raw) To: Malcolm Priestley; +Cc: devel, Greg Kroah-Hartman, linux-kernel, Forest Bond On Fri, Apr 10, 2020 at 05:40:52PM +0100, Malcolm Priestley wrote: > > > On 10/04/2020 16:59, Oscar Carter wrote: > > On Fri, Apr 10, 2020 at 04:37:59PM +0100, Malcolm Priestley wrote: > > > > > > > > > On 10/04/2020 12:28, Oscar Carter wrote: > > > > Create a constant array with the values of the "phy->signal" for every > > > > rate. Remove all "phy->signal" assignments inside the switch statement > > > > and replace these with a single reading from the new vnt_phy_signal > > > > array. > > > > > > > > Signed-off-by: Oscar Carter <oscar.carter@gmx.com> > > > > --- > > > > drivers/staging/vt6656/baseband.c | 101 +++++++----------------------- > > > > 1 file changed, 21 insertions(+), 80 deletions(-) > > > > > > > > diff --git a/drivers/staging/vt6656/baseband.c b/drivers/staging/vt6656/baseband.c > > > > index a19a563d8bcc..47f93bf6e07b 100644 > > > > --- a/drivers/staging/vt6656/baseband.c > > > > +++ b/drivers/staging/vt6656/baseband.c > > > > @@ -115,6 +115,21 @@ static const u16 vnt_frame_time[MAX_RATE] = { > > > > 10, 20, 55, 110, 24, 36, 48, 72, 96, 144, 192, 216 > > > > }; > > > > > > Actually you don't need the second values > > > > Great. > > > > > > > > +static const u8 vnt_phy_signal[][2] = { > > > > + {0x00, 0x00}, /* RATE_1M */ > > > The driver would never attempt use preamble at this rate > > > so it's safe to include in with the next 3 rates > Sorry got this wrong the driver is trying to do preamble (short) > at this rate and it is not working. > > So don't apply it to RATE_1M rate. Ok, I take it into account. > > Regards > > Malcolm > Thanks, Oscar Carter _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 2/2] staging: vt6656: Remove duplicate code for the phy->service assignment 2020-04-10 11:28 ` Oscar Carter @ 2020-04-10 11:28 ` Oscar Carter -1 siblings, 0 replies; 14+ messages in thread From: Oscar Carter @ 2020-04-10 11:28 UTC (permalink / raw) To: Forest Bond, Greg Kroah-Hartman Cc: Oscar Carter, Malcolm Priestley, Quentin Deslandes, Amir Mahdi Ghorbanian, devel, linux-kernel Take out the "phy->service" assignment from the if-else statement due to it's the same for the two branches. Signed-off-by: Oscar Carter <oscar.carter@gmx.com> --- drivers/staging/vt6656/baseband.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/staging/vt6656/baseband.c b/drivers/staging/vt6656/baseband.c index 47f93bf6e07b..b0054f6c07e6 100644 --- a/drivers/staging/vt6656/baseband.c +++ b/drivers/staging/vt6656/baseband.c @@ -233,14 +233,13 @@ void vnt_get_phy_field(struct vnt_private *priv, u32 frame_length, : preamble_type == PREAMBLE_SHORT; phy->signal = vnt_phy_signal[i][j]; + phy->service = 0x00; if (pkt_type == PK_TYPE_11B) { - phy->service = 0x00; if (ext_bit) phy->service |= 0x80; phy->len = cpu_to_le16((u16)count); } else { - phy->service = 0x00; phy->len = cpu_to_le16((u16)frame_length); } } -- 2.20.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/2] staging: vt6656: Remove duplicate code for the phy->service assignment @ 2020-04-10 11:28 ` Oscar Carter 0 siblings, 0 replies; 14+ messages in thread From: Oscar Carter @ 2020-04-10 11:28 UTC (permalink / raw) To: Forest Bond, Greg Kroah-Hartman Cc: devel, Oscar Carter, Malcolm Priestley, linux-kernel Take out the "phy->service" assignment from the if-else statement due to it's the same for the two branches. Signed-off-by: Oscar Carter <oscar.carter@gmx.com> --- drivers/staging/vt6656/baseband.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/staging/vt6656/baseband.c b/drivers/staging/vt6656/baseband.c index 47f93bf6e07b..b0054f6c07e6 100644 --- a/drivers/staging/vt6656/baseband.c +++ b/drivers/staging/vt6656/baseband.c @@ -233,14 +233,13 @@ void vnt_get_phy_field(struct vnt_private *priv, u32 frame_length, : preamble_type == PREAMBLE_SHORT; phy->signal = vnt_phy_signal[i][j]; + phy->service = 0x00; if (pkt_type == PK_TYPE_11B) { - phy->service = 0x00; if (ext_bit) phy->service |= 0x80; phy->len = cpu_to_le16((u16)count); } else { - phy->service = 0x00; phy->len = cpu_to_le16((u16)frame_length); } } -- 2.20.1 _______________________________________________ devel mailing list devel@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel ^ permalink raw reply related [flat|nested] 14+ messages in thread
end of thread, other threads:[~2020-04-10 17:17 UTC | newest] Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-04-10 11:28 [PATCH 0/2] staging: vt6656: Refactor the vnt_get_phy_field function Oscar Carter 2020-04-10 11:28 ` Oscar Carter 2020-04-10 11:28 ` [PATCH 1/2] staging: vt6656: Refactor the assignment of the phy->signal variable Oscar Carter 2020-04-10 11:28 ` Oscar Carter 2020-04-10 15:37 ` Malcolm Priestley 2020-04-10 15:37 ` Malcolm Priestley 2020-04-10 15:59 ` Oscar Carter 2020-04-10 15:59 ` Oscar Carter 2020-04-10 16:40 ` Malcolm Priestley 2020-04-10 16:40 ` Malcolm Priestley 2020-04-10 17:17 ` Oscar Carter 2020-04-10 17:17 ` Oscar Carter 2020-04-10 11:28 ` [PATCH 2/2] staging: vt6656: Remove duplicate code for the phy->service assignment Oscar Carter 2020-04-10 11:28 ` Oscar Carter
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.