* [PATCH net-next]:r8169: Add and modify some parameters
@ 2015-08-17 10:26 Corcodel Marian
2015-08-17 13:45 ` Ivan Vecera
0 siblings, 1 reply; 2+ messages in thread
From: Corcodel Marian @ 2015-08-17 10:26 UTC (permalink / raw)
To: netdev; +Cc: Corcodel Marian
Set InterFrame Gap time as largest posible for comp. Add
InterFrameGap2 bit set on start.
Signed-off-by: Corcodel Marian <corcodel.marian@gmail.com>
diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index eb2d2a4..ea0f327 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -86,7 +86,8 @@ static const int multicast_filter_limit = 32;
#define MAX_READ_REQUEST_SHIFT 12
#define TX_DMA_BURST 7 /* Maximum PCI burst, '7' is unlimited */
-#define InterFrameGap 0x03 /* 3 means InterFrameGap = the shortest one */
+#define InterFrameGap 0x02 /* 2 means InterFrameGap = the largest one */
+#define InterFrameGap2 0x80000
#define R8169_REGS_SIZE 256
#define R8169_NAPI_WEIGHT 64
@@ -5180,7 +5181,7 @@ static void rtl_set_rx_tx_config_registers(struct rtl8169_private *tp)
/* Set DMA burst size and Interframe Gap Time */
RTL_W32(TxConfig, (TX_DMA_BURST << TxDMAShift) |
- (InterFrameGap << TxInterFrameGapShift));
+ (InterFrameGap << TxInterFrameGapShift) | InterFrameGap2);
}
static void rtl_hw_start(struct net_device *dev)
@@ -7470,15 +7471,22 @@ static int rtl8169_poll(struct napi_struct *napi, int budget)
u16 enable_mask = RTL_EVENT_NAPI | tp->event_slow;
int work_done= 0;
u16 status;
+ int tx_force = 1;
status = rtl_get_events(tp);
rtl_ack_events(tp, status & ~tp->event_slow);
-
+ if (netif_running(dev)) {
if (status & RTL_EVENT_NAPI_RX)
work_done = rtl_rx(dev, tp, (u32) budget);
+
if (status & RTL_EVENT_NAPI_TX)
rtl_tx(dev, tp);
+ else if (tx_force == 1) {
+ mdelay(10);
+ rtl_tx(dev, tp);
+ }
+ }
if (status & tp->event_slow) {
enable_mask &= ~tp->event_slow;
--
2.1.4
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH net-next]:r8169: Add and modify some parameters
2015-08-17 10:26 [PATCH net-next]:r8169: Add and modify some parameters Corcodel Marian
@ 2015-08-17 13:45 ` Ivan Vecera
0 siblings, 0 replies; 2+ messages in thread
From: Ivan Vecera @ 2015-08-17 13:45 UTC (permalink / raw)
To: Corcodel Marian, netdev
On 17.8.2015 12:26, Corcodel Marian wrote:
> Set InterFrame Gap time as largest posible for comp. Add
> InterFrameGap2 bit set on start.
Why?
>
> Signed-off-by: Corcodel Marian <corcodel.marian@gmail.com>
>
> diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
> index eb2d2a4..ea0f327 100644
> --- a/drivers/net/ethernet/realtek/r8169.c
> +++ b/drivers/net/ethernet/realtek/r8169.c
> @@ -86,7 +86,8 @@ static const int multicast_filter_limit = 32;
>
> #define MAX_READ_REQUEST_SHIFT 12
> #define TX_DMA_BURST 7 /* Maximum PCI burst, '7' is unlimited */
> -#define InterFrameGap 0x03 /* 3 means InterFrameGap = the shortest one */
> +#define InterFrameGap 0x02 /* 2 means InterFrameGap = the largest one */
> +#define InterFrameGap2 0x80000
>
> #define R8169_REGS_SIZE 256
> #define R8169_NAPI_WEIGHT 64
> @@ -5180,7 +5181,7 @@ static void rtl_set_rx_tx_config_registers(struct rtl8169_private *tp)
>
> /* Set DMA burst size and Interframe Gap Time */
> RTL_W32(TxConfig, (TX_DMA_BURST << TxDMAShift) |
> - (InterFrameGap << TxInterFrameGapShift));
> + (InterFrameGap << TxInterFrameGapShift) | InterFrameGap2);
> }
>
> static void rtl_hw_start(struct net_device *dev)
> @@ -7470,15 +7471,22 @@ static int rtl8169_poll(struct napi_struct *napi, int budget)
> u16 enable_mask = RTL_EVENT_NAPI | tp->event_slow;
> int work_done= 0;
> u16 status;
> + int tx_force = 1;
>
> status = rtl_get_events(tp);
> rtl_ack_events(tp, status & ~tp->event_slow);
> -
> + if (netif_running(dev)) {
> if (status & RTL_EVENT_NAPI_RX)
> work_done = rtl_rx(dev, tp, (u32) budget);
> +
>
> if (status & RTL_EVENT_NAPI_TX)
> rtl_tx(dev, tp);
> + else if (tx_force == 1) {
> + mdelay(10);
> + rtl_tx(dev, tp);
> + }
> + }
>
> if (status & tp->event_slow) {
> enable_mask &= ~tp->event_slow;
>
Why this piece of code??? This was already rejected.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-08-17 13:45 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-17 10:26 [PATCH net-next]:r8169: Add and modify some parameters Corcodel Marian
2015-08-17 13:45 ` Ivan Vecera
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).