Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) // SPDX-License-Identifier: GPL-2.0-or-later
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) /* Miscellaneous bits
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4)  * Copyright (C) 2016 Red Hat, Inc. All Rights Reserved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5)  * Written by David Howells (dhowells@redhat.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) #include <linux/kernel.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) #include <net/sock.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #include <net/af_rxrpc.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #include "ar-internal.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)  * The maximum listening backlog queue size that may be set on a socket by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)  * listen().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) unsigned int rxrpc_max_backlog __read_mostly = 10;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)  * How long to wait before scheduling ACK generation after seeing a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)  * packet with RXRPC_REQUEST_ACK set (in jiffies).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) unsigned long rxrpc_requested_ack_delay = 1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)  * How long to wait before scheduling an ACK with subtype DELAY (in jiffies).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)  * We use this when we've received new data packets.  If those packets aren't
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)  * all consumed within this time we will send a DELAY ACK if an ACK was not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)  * requested to let the sender know it doesn't need to resend.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) unsigned long rxrpc_soft_ack_delay = HZ;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)  * How long to wait before scheduling an ACK with subtype IDLE (in jiffies).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)  * We use this when we've consumed some previously soft-ACK'd packets when
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38)  * further packets aren't immediately received to decide when to send an IDLE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)  * ACK let the other end know that it can free up its Tx buffer space.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) unsigned long rxrpc_idle_ack_delay = HZ / 2;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)  * Receive window size in packets.  This indicates the maximum number of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)  * unconsumed received packets we're willing to retain in memory.  Once this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)  * limit is hit, we should generate an EXCEEDS_WINDOW ACK and discard further
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)  * packets.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) unsigned int rxrpc_rx_window_size = RXRPC_INIT_RX_WINDOW_SIZE;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) #if (RXRPC_RXTX_BUFF_SIZE - 1) < RXRPC_INIT_RX_WINDOW_SIZE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) #error Need to reduce RXRPC_INIT_RX_WINDOW_SIZE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)  * Maximum Rx MTU size.  This indicates to the sender the size of jumbo packet
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)  * made by gluing normal packets together that we're willing to handle.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) unsigned int rxrpc_rx_mtu = 5692;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)  * The maximum number of fragments in a received jumbo packet that we tell the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)  * sender that we're willing to handle.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) unsigned int rxrpc_rx_jumbo_max = 4;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) const s8 rxrpc_ack_priority[] = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) 	[0]				= 0,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) 	[RXRPC_ACK_DELAY]		= 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 	[RXRPC_ACK_REQUESTED]		= 2,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) 	[RXRPC_ACK_IDLE]		= 3,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) 	[RXRPC_ACK_DUPLICATE]		= 4,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 	[RXRPC_ACK_OUT_OF_SEQUENCE]	= 5,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) 	[RXRPC_ACK_EXCEEDS_WINDOW]	= 6,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) 	[RXRPC_ACK_NOSPACE]		= 7,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) 	[RXRPC_ACK_PING_RESPONSE]	= 8,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) };