mirror of
https://github.com/MiSTer-devel/Linux-Kernel_MiSTer.git
synced 2026-05-17 03:03:57 +00:00
v5.14.5
This commit is contained in:
@@ -1521,6 +1521,22 @@ static inline int queue_limit_discard_alignment(struct queue_limits *lim, sector
|
||||
return offset << SECTOR_SHIFT;
|
||||
}
|
||||
|
||||
/*
|
||||
* Two cases of handling DISCARD merge:
|
||||
* If max_discard_segments > 1, the driver takes every bio
|
||||
* as a range and send them to controller together. The ranges
|
||||
* needn't to be contiguous.
|
||||
* Otherwise, the bios/requests will be handled as same as
|
||||
* others which should be contiguous.
|
||||
*/
|
||||
static inline bool blk_discard_mergable(struct request *req)
|
||||
{
|
||||
if (req_op(req) == REQ_OP_DISCARD &&
|
||||
queue_max_discard_segments(req->q) > 1)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline int bdev_discard_alignment(struct block_device *bdev)
|
||||
{
|
||||
struct request_queue *q = bdev_get_queue(bdev);
|
||||
|
||||
@@ -53,6 +53,22 @@ struct em_perf_domain {
|
||||
#ifdef CONFIG_ENERGY_MODEL
|
||||
#define EM_MAX_POWER 0xFFFF
|
||||
|
||||
/*
|
||||
* Increase resolution of energy estimation calculations for 64-bit
|
||||
* architectures. The extra resolution improves decision made by EAS for the
|
||||
* task placement when two Performance Domains might provide similar energy
|
||||
* estimation values (w/o better resolution the values could be equal).
|
||||
*
|
||||
* We increase resolution only if we have enough bits to allow this increased
|
||||
* resolution (i.e. 64-bit). The costs for increasing resolution when 32-bit
|
||||
* are pretty high and the returns do not justify the increased costs.
|
||||
*/
|
||||
#ifdef CONFIG_64BIT
|
||||
#define em_scale_power(p) ((p) * 1000)
|
||||
#else
|
||||
#define em_scale_power(p) (p)
|
||||
#endif
|
||||
|
||||
struct em_data_callback {
|
||||
/**
|
||||
* active_power() - Provide power at the next performance state of
|
||||
|
||||
@@ -253,6 +253,7 @@ int __fscrypt_encrypt_symlink(struct inode *inode, const char *target,
|
||||
const char *fscrypt_get_symlink(struct inode *inode, const void *caddr,
|
||||
unsigned int max_size,
|
||||
struct delayed_call *done);
|
||||
int fscrypt_symlink_getattr(const struct path *path, struct kstat *stat);
|
||||
static inline void fscrypt_set_ops(struct super_block *sb,
|
||||
const struct fscrypt_operations *s_cop)
|
||||
{
|
||||
@@ -583,6 +584,12 @@ static inline const char *fscrypt_get_symlink(struct inode *inode,
|
||||
return ERR_PTR(-EOPNOTSUPP);
|
||||
}
|
||||
|
||||
static inline int fscrypt_symlink_getattr(const struct path *path,
|
||||
struct kstat *stat)
|
||||
{
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
static inline void fscrypt_set_ops(struct super_block *sb,
|
||||
const struct fscrypt_operations *s_cop)
|
||||
{
|
||||
|
||||
@@ -318,16 +318,12 @@ struct clock_event_device;
|
||||
|
||||
extern void hrtimer_interrupt(struct clock_event_device *dev);
|
||||
|
||||
extern void clock_was_set_delayed(void);
|
||||
|
||||
extern unsigned int hrtimer_resolution;
|
||||
|
||||
#else
|
||||
|
||||
#define hrtimer_resolution (unsigned int)LOW_RES_NSEC
|
||||
|
||||
static inline void clock_was_set_delayed(void) { }
|
||||
|
||||
#endif
|
||||
|
||||
static inline ktime_t
|
||||
@@ -351,7 +347,6 @@ hrtimer_expires_remaining_adjusted(const struct hrtimer *timer)
|
||||
timer->base->get_time());
|
||||
}
|
||||
|
||||
extern void clock_was_set(void);
|
||||
#ifdef CONFIG_TIMERFD
|
||||
extern void timerfd_clock_was_set(void);
|
||||
#else
|
||||
|
||||
@@ -14,29 +14,14 @@ typedef struct {
|
||||
} local_lock_t;
|
||||
|
||||
#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
||||
# define LL_DEP_MAP_INIT(lockname) \
|
||||
# define LOCAL_LOCK_DEBUG_INIT(lockname) \
|
||||
.dep_map = { \
|
||||
.name = #lockname, \
|
||||
.wait_type_inner = LD_WAIT_CONFIG, \
|
||||
.lock_type = LD_LOCK_PERCPU, \
|
||||
}
|
||||
#else
|
||||
# define LL_DEP_MAP_INIT(lockname)
|
||||
#endif
|
||||
.lock_type = LD_LOCK_PERCPU, \
|
||||
}, \
|
||||
.owner = NULL,
|
||||
|
||||
#define INIT_LOCAL_LOCK(lockname) { LL_DEP_MAP_INIT(lockname) }
|
||||
|
||||
#define __local_lock_init(lock) \
|
||||
do { \
|
||||
static struct lock_class_key __key; \
|
||||
\
|
||||
debug_check_no_locks_freed((void *)lock, sizeof(*lock));\
|
||||
lockdep_init_map_type(&(lock)->dep_map, #lock, &__key, 0, \
|
||||
LD_WAIT_CONFIG, LD_WAIT_INV, \
|
||||
LD_LOCK_PERCPU); \
|
||||
} while (0)
|
||||
|
||||
#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
||||
static inline void local_lock_acquire(local_lock_t *l)
|
||||
{
|
||||
lock_map_acquire(&l->dep_map);
|
||||
@@ -51,11 +36,30 @@ static inline void local_lock_release(local_lock_t *l)
|
||||
lock_map_release(&l->dep_map);
|
||||
}
|
||||
|
||||
static inline void local_lock_debug_init(local_lock_t *l)
|
||||
{
|
||||
l->owner = NULL;
|
||||
}
|
||||
#else /* CONFIG_DEBUG_LOCK_ALLOC */
|
||||
# define LOCAL_LOCK_DEBUG_INIT(lockname)
|
||||
static inline void local_lock_acquire(local_lock_t *l) { }
|
||||
static inline void local_lock_release(local_lock_t *l) { }
|
||||
static inline void local_lock_debug_init(local_lock_t *l) { }
|
||||
#endif /* !CONFIG_DEBUG_LOCK_ALLOC */
|
||||
|
||||
#define INIT_LOCAL_LOCK(lockname) { LOCAL_LOCK_DEBUG_INIT(lockname) }
|
||||
|
||||
#define __local_lock_init(lock) \
|
||||
do { \
|
||||
static struct lock_class_key __key; \
|
||||
\
|
||||
debug_check_no_locks_freed((void *)lock, sizeof(*lock));\
|
||||
lockdep_init_map_type(&(lock)->dep_map, #lock, &__key, \
|
||||
0, LD_WAIT_CONFIG, LD_WAIT_INV, \
|
||||
LD_LOCK_PERCPU); \
|
||||
local_lock_debug_init(lock); \
|
||||
} while (0)
|
||||
|
||||
#define __local_lock(lock) \
|
||||
do { \
|
||||
preempt_disable(); \
|
||||
|
||||
@@ -921,7 +921,8 @@ struct mlx5_ifc_per_protocol_networking_offload_caps_bits {
|
||||
u8 scatter_fcs[0x1];
|
||||
u8 enhanced_multi_pkt_send_wqe[0x1];
|
||||
u8 tunnel_lso_const_out_ip_id[0x1];
|
||||
u8 reserved_at_1c[0x2];
|
||||
u8 tunnel_lro_gre[0x1];
|
||||
u8 tunnel_lro_vxlan[0x1];
|
||||
u8 tunnel_stateless_gre[0x1];
|
||||
u8 tunnel_stateless_vxlan[0x1];
|
||||
|
||||
|
||||
@@ -4012,6 +4012,10 @@ int netdev_rx_handler_register(struct net_device *dev,
|
||||
void netdev_rx_handler_unregister(struct net_device *dev);
|
||||
|
||||
bool dev_valid_name(const char *name);
|
||||
static inline bool is_socket_ioctl_cmd(unsigned int cmd)
|
||||
{
|
||||
return _IOC_TYPE(cmd) == SOCK_IOC_TYPE;
|
||||
}
|
||||
int dev_ioctl(struct net *net, unsigned int cmd, struct ifreq *ifr,
|
||||
bool *need_copyout);
|
||||
int dev_ifconf(struct net *net, struct ifconf *, int);
|
||||
|
||||
@@ -69,7 +69,7 @@ enum max17042_register {
|
||||
MAX17042_RelaxCFG = 0x2A,
|
||||
MAX17042_MiscCFG = 0x2B,
|
||||
MAX17042_TGAIN = 0x2C,
|
||||
MAx17042_TOFF = 0x2D,
|
||||
MAX17042_TOFF = 0x2D,
|
||||
MAX17042_CGAIN = 0x2E,
|
||||
MAX17042_COFF = 0x2F,
|
||||
|
||||
|
||||
@@ -523,6 +523,7 @@ void svc_wake_up(struct svc_serv *);
|
||||
void svc_reserve(struct svc_rqst *rqstp, int space);
|
||||
struct svc_pool * svc_pool_for_cpu(struct svc_serv *serv, int cpu);
|
||||
char * svc_print_addr(struct svc_rqst *, char *, size_t);
|
||||
const char * svc_proc_name(const struct svc_rqst *rqstp);
|
||||
int svc_encode_result_payload(struct svc_rqst *rqstp,
|
||||
unsigned int offset,
|
||||
unsigned int length);
|
||||
|
||||
Reference in New Issue
Block a user