netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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).