Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
This commit is contained in:
@@ -274,15 +274,12 @@ struct acpi_device_wakeup {
|
||||
};
|
||||
|
||||
struct acpi_device_physical_node {
|
||||
u8 node_id;
|
||||
unsigned int node_id;
|
||||
struct list_head node;
|
||||
struct device *dev;
|
||||
bool put_online:1;
|
||||
};
|
||||
|
||||
/* set maximum of physical nodes to 32 for expansibility */
|
||||
#define ACPI_MAX_PHYSICAL_NODE 32
|
||||
|
||||
/* Device */
|
||||
struct acpi_device {
|
||||
int device_type;
|
||||
@@ -302,10 +299,9 @@ struct acpi_device {
|
||||
struct acpi_driver *driver;
|
||||
void *driver_data;
|
||||
struct device dev;
|
||||
u8 physical_node_count;
|
||||
unsigned int physical_node_count;
|
||||
struct list_head physical_node_list;
|
||||
struct mutex physical_node_lock;
|
||||
DECLARE_BITMAP(physical_node_id_bitmap, ACPI_MAX_PHYSICAL_NODE);
|
||||
struct list_head power_dependent;
|
||||
void (*remove)(struct acpi_device *);
|
||||
};
|
||||
@@ -445,7 +441,11 @@ struct acpi_pci_root {
|
||||
};
|
||||
|
||||
/* helper */
|
||||
acpi_handle acpi_get_child(acpi_handle, u64);
|
||||
acpi_handle acpi_find_child(acpi_handle, u64, bool);
|
||||
static inline acpi_handle acpi_get_child(acpi_handle handle, u64 addr)
|
||||
{
|
||||
return acpi_find_child(handle, addr, false);
|
||||
}
|
||||
int acpi_is_root_bridge(acpi_handle);
|
||||
struct acpi_pci_root *acpi_pci_find_root(acpi_handle handle);
|
||||
#define DEVICE_ACPI_HANDLE(dev) ((acpi_handle)ACPI_HANDLE(dev))
|
||||
|
||||
@@ -417,6 +417,36 @@ static inline pmd_t pmd_mksoft_dirty(pmd_t pmd)
|
||||
{
|
||||
return pmd;
|
||||
}
|
||||
|
||||
static inline pte_t pte_swp_mksoft_dirty(pte_t pte)
|
||||
{
|
||||
return pte;
|
||||
}
|
||||
|
||||
static inline int pte_swp_soft_dirty(pte_t pte)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline pte_t pte_swp_clear_soft_dirty(pte_t pte)
|
||||
{
|
||||
return pte;
|
||||
}
|
||||
|
||||
static inline pte_t pte_file_clear_soft_dirty(pte_t pte)
|
||||
{
|
||||
return pte;
|
||||
}
|
||||
|
||||
static inline pte_t pte_file_mksoft_dirty(pte_t pte)
|
||||
{
|
||||
return pte;
|
||||
}
|
||||
|
||||
static inline int pte_file_soft_dirty(pte_t pte)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef __HAVE_PFNMAP_TRACKING
|
||||
|
||||
@@ -112,7 +112,7 @@ struct mmu_gather {
|
||||
|
||||
#define HAVE_GENERIC_MMU_GATHER
|
||||
|
||||
void tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, bool fullmm);
|
||||
void tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, unsigned long start, unsigned long end);
|
||||
void tlb_flush_mmu(struct mmu_gather *tlb);
|
||||
void tlb_finish_mmu(struct mmu_gather *tlb, unsigned long start,
|
||||
unsigned long end);
|
||||
|
||||
@@ -78,6 +78,11 @@ struct trace_iterator {
|
||||
/* trace_seq for __print_flags() and __print_symbolic() etc. */
|
||||
struct trace_seq tmp_seq;
|
||||
|
||||
cpumask_var_t started;
|
||||
|
||||
/* it's true when current open file is snapshot */
|
||||
bool snapshot;
|
||||
|
||||
/* The below is zeroed out in pipe_read */
|
||||
struct trace_seq seq;
|
||||
struct trace_entry *ent;
|
||||
@@ -90,10 +95,7 @@ struct trace_iterator {
|
||||
loff_t pos;
|
||||
long idx;
|
||||
|
||||
cpumask_var_t started;
|
||||
|
||||
/* it's true when current open file is snapshot */
|
||||
bool snapshot;
|
||||
/* All new field here will be zeroed out in pipe_read */
|
||||
};
|
||||
|
||||
enum trace_iter_flags {
|
||||
@@ -332,7 +334,7 @@ extern int trace_define_field(struct ftrace_event_call *call, const char *type,
|
||||
const char *name, int offset, int size,
|
||||
int is_signed, int filter_type);
|
||||
extern int trace_add_event_call(struct ftrace_event_call *call);
|
||||
extern void trace_remove_event_call(struct ftrace_event_call *call);
|
||||
extern int trace_remove_event_call(struct ftrace_event_call *call);
|
||||
|
||||
#define is_signed_type(type) (((type)(-1)) < (type)1)
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
*/
|
||||
#include <linux/irq.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/atomic.h>
|
||||
|
||||
#ifndef _IIO_TRIGGER_H_
|
||||
#define _IIO_TRIGGER_H_
|
||||
@@ -61,7 +62,7 @@ struct iio_trigger {
|
||||
|
||||
struct list_head list;
|
||||
struct list_head alloc_list;
|
||||
int use_count;
|
||||
atomic_t use_count;
|
||||
|
||||
struct irq_chip subirq_chip;
|
||||
int subirq_base;
|
||||
|
||||
@@ -629,7 +629,7 @@ extern void ftrace_dump(enum ftrace_dump_mode oops_dump_mode);
|
||||
static inline void tracing_start(void) { }
|
||||
static inline void tracing_stop(void) { }
|
||||
static inline void ftrace_off_permanent(void) { }
|
||||
static inline void trace_dump_stack(void) { }
|
||||
static inline void trace_dump_stack(int skip) { }
|
||||
|
||||
static inline void tracing_on(void) { }
|
||||
static inline void tracing_off(void) { }
|
||||
|
||||
@@ -113,11 +113,27 @@
|
||||
#define CNTRLREG_8WIRE CNTRLREG_AFE_CTRL(3)
|
||||
#define CNTRLREG_TSCENB BIT(7)
|
||||
|
||||
/* FIFO READ Register */
|
||||
#define FIFOREAD_DATA_MASK (0xfff << 0)
|
||||
#define FIFOREAD_CHNLID_MASK (0xf << 16)
|
||||
|
||||
/* Sequencer Status */
|
||||
#define SEQ_STATUS BIT(5)
|
||||
|
||||
#define ADC_CLK 3000000
|
||||
#define MAX_CLK_DIV 7
|
||||
#define TOTAL_STEPS 16
|
||||
#define TOTAL_CHANNELS 8
|
||||
|
||||
/*
|
||||
* ADC runs at 3MHz, and it takes
|
||||
* 15 cycles to latch one data output.
|
||||
* Hence the idle time for ADC to
|
||||
* process one sample data would be
|
||||
* around 5 micro seconds.
|
||||
*/
|
||||
#define IDLE_TIMEOUT 5 /* microsec */
|
||||
|
||||
#define TSCADC_CELLS 2
|
||||
|
||||
struct ti_tscadc_dev {
|
||||
|
||||
+10
-12
@@ -309,21 +309,20 @@ struct mlx5_hca_cap {
|
||||
__be16 max_desc_sz_rq;
|
||||
u8 rsvd21[2];
|
||||
__be16 max_desc_sz_sq_dc;
|
||||
u8 rsvd22[4];
|
||||
__be16 max_qp_mcg;
|
||||
u8 rsvd23;
|
||||
__be32 max_qp_mcg;
|
||||
u8 rsvd22[3];
|
||||
u8 log_max_mcg;
|
||||
u8 rsvd24;
|
||||
u8 rsvd23;
|
||||
u8 log_max_pd;
|
||||
u8 rsvd25;
|
||||
u8 rsvd24;
|
||||
u8 log_max_xrcd;
|
||||
u8 rsvd26[42];
|
||||
u8 rsvd25[42];
|
||||
__be16 log_uar_page_sz;
|
||||
u8 rsvd27[28];
|
||||
u8 rsvd26[28];
|
||||
u8 log_msx_atomic_size_qp;
|
||||
u8 rsvd28[2];
|
||||
u8 rsvd27[2];
|
||||
u8 log_msx_atomic_size_dc;
|
||||
u8 rsvd29[76];
|
||||
u8 rsvd28[76];
|
||||
};
|
||||
|
||||
|
||||
@@ -472,9 +471,8 @@ struct mlx5_eqe_cmd {
|
||||
struct mlx5_eqe_page_req {
|
||||
u8 rsvd0[2];
|
||||
__be16 func_id;
|
||||
u8 rsvd1[2];
|
||||
__be16 num_pages;
|
||||
__be32 rsvd2[5];
|
||||
__be32 num_pages;
|
||||
__be32 rsvd1[5];
|
||||
};
|
||||
|
||||
union ev_data {
|
||||
|
||||
@@ -358,7 +358,7 @@ struct mlx5_caps {
|
||||
u32 reserved_lkey;
|
||||
u8 local_ca_ack_delay;
|
||||
u8 log_max_mcg;
|
||||
u16 max_qp_mcg;
|
||||
u32 max_qp_mcg;
|
||||
int min_page_sz;
|
||||
};
|
||||
|
||||
@@ -691,7 +691,7 @@ void mlx5_pagealloc_cleanup(struct mlx5_core_dev *dev);
|
||||
int mlx5_pagealloc_start(struct mlx5_core_dev *dev);
|
||||
void mlx5_pagealloc_stop(struct mlx5_core_dev *dev);
|
||||
void mlx5_core_req_pages_handler(struct mlx5_core_dev *dev, u16 func_id,
|
||||
s16 npages);
|
||||
s32 npages);
|
||||
int mlx5_satisfy_startup_pages(struct mlx5_core_dev *dev, int boot);
|
||||
int mlx5_reclaim_startup_pages(struct mlx5_core_dev *dev);
|
||||
void mlx5_register_debugfs(void);
|
||||
@@ -731,9 +731,6 @@ void mlx5_cq_debugfs_cleanup(struct mlx5_core_dev *dev);
|
||||
int mlx5_db_alloc(struct mlx5_core_dev *dev, struct mlx5_db *db);
|
||||
void mlx5_db_free(struct mlx5_core_dev *dev, struct mlx5_db *db);
|
||||
|
||||
typedef void (*health_handler_t)(struct pci_dev *pdev, struct health_buffer __iomem *buf, int size);
|
||||
int mlx5_register_health_report_handler(health_handler_t handler);
|
||||
void mlx5_unregister_health_report_handler(void);
|
||||
const char *mlx5_command_str(int command);
|
||||
int mlx5_cmdif_debugfs_init(struct mlx5_core_dev *dev);
|
||||
void mlx5_cmdif_debugfs_cleanup(struct mlx5_core_dev *dev);
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
|
||||
#include <linux/list.h>
|
||||
#include <linux/rbtree.h>
|
||||
#include <linux/err.h>
|
||||
|
||||
struct module;
|
||||
struct device;
|
||||
|
||||
@@ -314,6 +314,7 @@ struct nsproxy;
|
||||
struct user_namespace;
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
extern unsigned long mmap_legacy_base(void);
|
||||
extern void arch_pick_mmap_layout(struct mm_struct *mm);
|
||||
extern unsigned long
|
||||
arch_get_unmapped_area(struct file *, unsigned long, unsigned long,
|
||||
@@ -1532,6 +1533,8 @@ static inline pid_t task_pgrp_nr(struct task_struct *tsk)
|
||||
* Test if a process is not yet dead (at most zombie state)
|
||||
* If pid_alive fails, then pointers within the task structure
|
||||
* can be stale and must not be dereferenced.
|
||||
*
|
||||
* Return: 1 if the process is alive. 0 otherwise.
|
||||
*/
|
||||
static inline int pid_alive(struct task_struct *p)
|
||||
{
|
||||
@@ -1543,6 +1546,8 @@ static inline int pid_alive(struct task_struct *p)
|
||||
* @tsk: Task structure to be checked.
|
||||
*
|
||||
* Check if a task structure is the first user space task the kernel created.
|
||||
*
|
||||
* Return: 1 if the task structure is init. 0 otherwise.
|
||||
*/
|
||||
static inline int is_global_init(struct task_struct *tsk)
|
||||
{
|
||||
@@ -1894,6 +1899,8 @@ extern struct task_struct *idle_task(int cpu);
|
||||
/**
|
||||
* is_idle_task - is the specified task an idle task?
|
||||
* @p: the task in question.
|
||||
*
|
||||
* Return: 1 if @p is an idle task. 0 otherwise.
|
||||
*/
|
||||
static inline bool is_idle_task(const struct task_struct *p)
|
||||
{
|
||||
|
||||
@@ -117,9 +117,17 @@ do { \
|
||||
#endif /*arch_spin_is_contended*/
|
||||
#endif
|
||||
|
||||
/* The lock does not imply full memory barrier. */
|
||||
#ifndef ARCH_HAS_SMP_MB_AFTER_LOCK
|
||||
static inline void smp_mb__after_lock(void) { smp_mb(); }
|
||||
/*
|
||||
* Despite its name it doesn't necessarily has to be a full barrier.
|
||||
* It should only guarantee that a STORE before the critical section
|
||||
* can not be reordered with a LOAD inside this section.
|
||||
* spin_lock() is the one-way barrier, this LOAD can not escape out
|
||||
* of the region. So the default implementation simply ensures that
|
||||
* a STORE can not move into the critical section, smp_wmb() should
|
||||
* serialize it with another STORE done by spin_lock().
|
||||
*/
|
||||
#ifndef smp_mb__before_spinlock
|
||||
#define smp_mb__before_spinlock() smp_wmb()
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
||||
@@ -121,6 +121,7 @@ struct rpc_task_setup {
|
||||
#define RPC_TASK_SOFTCONN 0x0400 /* Fail if can't connect */
|
||||
#define RPC_TASK_SENT 0x0800 /* message was sent */
|
||||
#define RPC_TASK_TIMEOUT 0x1000 /* fail with ETIMEDOUT on timeout */
|
||||
#define RPC_TASK_NOCONNECT 0x2000 /* return ENOTCONN if not connected */
|
||||
|
||||
#define RPC_IS_ASYNC(t) ((t)->tk_flags & RPC_TASK_ASYNC)
|
||||
#define RPC_IS_SWAPPER(t) ((t)->tk_flags & RPC_TASK_SWAPPER)
|
||||
|
||||
@@ -67,6 +67,8 @@ static inline swp_entry_t pte_to_swp_entry(pte_t pte)
|
||||
swp_entry_t arch_entry;
|
||||
|
||||
BUG_ON(pte_file(pte));
|
||||
if (pte_swp_soft_dirty(pte))
|
||||
pte = pte_swp_clear_soft_dirty(pte);
|
||||
arch_entry = __pte_to_swp_entry(pte);
|
||||
return swp_entry(__swp_type(arch_entry), __swp_offset(arch_entry));
|
||||
}
|
||||
|
||||
@@ -802,9 +802,14 @@ asmlinkage long sys_vfork(void);
|
||||
asmlinkage long sys_clone(unsigned long, unsigned long, int __user *, int,
|
||||
int __user *);
|
||||
#else
|
||||
#ifdef CONFIG_CLONE_BACKWARDS3
|
||||
asmlinkage long sys_clone(unsigned long, unsigned long, int, int __user *,
|
||||
int __user *, int);
|
||||
#else
|
||||
asmlinkage long sys_clone(unsigned long, unsigned long, int __user *,
|
||||
int __user *, int);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
asmlinkage long sys_execve(const char __user *filename,
|
||||
const char __user *const __user *argv,
|
||||
|
||||
@@ -23,6 +23,7 @@ struct user_namespace {
|
||||
struct uid_gid_map projid_map;
|
||||
atomic_t count;
|
||||
struct user_namespace *parent;
|
||||
int level;
|
||||
kuid_t owner;
|
||||
kgid_t group;
|
||||
unsigned int proc_inum;
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#define _V4L2_CTRLS_H
|
||||
|
||||
#include <linux/list.h>
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/videodev2.h>
|
||||
|
||||
/* forward references */
|
||||
|
||||
@@ -122,7 +122,7 @@ static inline bool sk_busy_loop(struct sock *sk, int nonblock)
|
||||
if (rc > 0)
|
||||
/* local bh are disabled so it is ok to use _BH */
|
||||
NET_ADD_STATS_BH(sock_net(sk),
|
||||
LINUX_MIB_LOWLATENCYRXPACKETS, rc);
|
||||
LINUX_MIB_BUSYPOLLRXPACKETS, rc);
|
||||
|
||||
} while (!nonblock && skb_queue_empty(&sk->sk_receive_queue) &&
|
||||
!need_resched() && !busy_loop_timeout(end_time));
|
||||
@@ -162,11 +162,6 @@ static inline bool sk_can_busy_loop(struct sock *sk)
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline bool sk_busy_poll(struct sock *sk, int nonblock)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline void skb_mark_napi_id(struct sk_buff *skb,
|
||||
struct napi_struct *napi)
|
||||
{
|
||||
|
||||
@@ -145,20 +145,6 @@ static inline u8 ip_tunnel_ecn_encap(u8 tos, const struct iphdr *iph,
|
||||
return INET_ECN_encapsulate(tos, inner);
|
||||
}
|
||||
|
||||
static inline void tunnel_ip_select_ident(struct sk_buff *skb,
|
||||
const struct iphdr *old_iph,
|
||||
struct dst_entry *dst)
|
||||
{
|
||||
struct iphdr *iph = ip_hdr(skb);
|
||||
|
||||
/* Use inner packet iph-id if possible. */
|
||||
if (skb->protocol == htons(ETH_P_IP) && old_iph->id)
|
||||
iph->id = old_iph->id;
|
||||
else
|
||||
__ip_select_ident(iph, dst,
|
||||
(skb_shinfo(skb)->gso_segs ?: 1) - 1);
|
||||
}
|
||||
|
||||
int iptunnel_pull_header(struct sk_buff *skb, int hdr_len, __be16 inner_proto);
|
||||
int iptunnel_xmit(struct net *net, struct rtable *rt,
|
||||
struct sk_buff *skb,
|
||||
|
||||
@@ -685,13 +685,19 @@ struct psched_ratecfg {
|
||||
u64 rate_bytes_ps; /* bytes per second */
|
||||
u32 mult;
|
||||
u16 overhead;
|
||||
u8 linklayer;
|
||||
u8 shift;
|
||||
};
|
||||
|
||||
static inline u64 psched_l2t_ns(const struct psched_ratecfg *r,
|
||||
unsigned int len)
|
||||
{
|
||||
return ((u64)(len + r->overhead) * r->mult) >> r->shift;
|
||||
len += r->overhead;
|
||||
|
||||
if (unlikely(r->linklayer == TC_LINKLAYER_ATM))
|
||||
return ((u64)(DIV_ROUND_UP(len,48)*53) * r->mult) >> r->shift;
|
||||
|
||||
return ((u64)len * r->mult) >> r->shift;
|
||||
}
|
||||
|
||||
void psched_ratecfg_precompute(struct psched_ratecfg *r,
|
||||
@@ -703,6 +709,7 @@ static inline void psched_ratecfg_getrate(struct tc_ratespec *res,
|
||||
memset(res, 0, sizeof(*res));
|
||||
res->rate = r->rate_bytes_ps;
|
||||
res->overhead = r->overhead;
|
||||
res->linklayer = (r->linklayer & TC_LINKLAYER_MASK);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -73,9 +73,17 @@ struct tc_estimator {
|
||||
#define TC_H_ROOT (0xFFFFFFFFU)
|
||||
#define TC_H_INGRESS (0xFFFFFFF1U)
|
||||
|
||||
/* Need to corrospond to iproute2 tc/tc_core.h "enum link_layer" */
|
||||
enum tc_link_layer {
|
||||
TC_LINKLAYER_UNAWARE, /* Indicate unaware old iproute2 util */
|
||||
TC_LINKLAYER_ETHERNET,
|
||||
TC_LINKLAYER_ATM,
|
||||
};
|
||||
#define TC_LINKLAYER_MASK 0x0F /* limit use to lower 4 bits */
|
||||
|
||||
struct tc_ratespec {
|
||||
unsigned char cell_log;
|
||||
unsigned char __reserved;
|
||||
__u8 linklayer; /* lower 4 bits */
|
||||
unsigned short overhead;
|
||||
short cell_align;
|
||||
unsigned short mpu;
|
||||
|
||||
@@ -257,7 +257,7 @@ enum
|
||||
LINUX_MIB_TCPFASTOPENLISTENOVERFLOW, /* TCPFastOpenListenOverflow */
|
||||
LINUX_MIB_TCPFASTOPENCOOKIEREQD, /* TCPFastOpenCookieReqd */
|
||||
LINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES, /* TCPSpuriousRtxHostQueues */
|
||||
LINUX_MIB_LOWLATENCYRXPACKETS, /* LowLatencyRxPackets */
|
||||
LINUX_MIB_BUSYPOLLRXPACKETS, /* BusyPollRxPackets */
|
||||
__LINUX_MIB_MAX
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user