mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-14 02:59:19 -04:00
Merge Linus's staging merge point into staging-next
This resolves the merge issue pointed out by Stephen in drivers/iio/adc/meson_saradc.c. Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
@@ -105,6 +105,7 @@ enum acpi_bus_device_type {
|
||||
ACPI_BUS_TYPE_THERMAL,
|
||||
ACPI_BUS_TYPE_POWER_BUTTON,
|
||||
ACPI_BUS_TYPE_SLEEP_BUTTON,
|
||||
ACPI_BUS_TYPE_ECDT_EC,
|
||||
ACPI_BUS_DEVICE_TYPE_COUNT
|
||||
};
|
||||
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
#define ACPI_VIDEO_HID "LNXVIDEO"
|
||||
#define ACPI_BAY_HID "LNXIOBAY"
|
||||
#define ACPI_DOCK_HID "LNXDOCK"
|
||||
#define ACPI_ECDT_HID "LNXEC"
|
||||
/* Quirk for broken IBM BIOSes */
|
||||
#define ACPI_SMBUS_IBM_HID "SMBUSIBM"
|
||||
|
||||
|
||||
@@ -805,15 +805,23 @@ static inline int pmd_trans_huge(pmd_t pmd)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#ifndef __HAVE_ARCH_PMD_WRITE
|
||||
#ifndef pmd_write
|
||||
static inline int pmd_write(pmd_t pmd)
|
||||
{
|
||||
BUG();
|
||||
return 0;
|
||||
}
|
||||
#endif /* __HAVE_ARCH_PMD_WRITE */
|
||||
#endif /* pmd_write */
|
||||
#endif /* CONFIG_TRANSPARENT_HUGEPAGE */
|
||||
|
||||
#ifndef pud_write
|
||||
static inline int pud_write(pud_t pud)
|
||||
{
|
||||
BUG();
|
||||
return 0;
|
||||
}
|
||||
#endif /* pud_write */
|
||||
|
||||
#if !defined(CONFIG_TRANSPARENT_HUGEPAGE) || \
|
||||
(defined(CONFIG_TRANSPARENT_HUGEPAGE) && \
|
||||
!defined(CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD))
|
||||
|
||||
@@ -242,6 +242,7 @@ int af_alg_sendmsg(struct socket *sock, struct msghdr *msg, size_t size,
|
||||
unsigned int ivsize);
|
||||
ssize_t af_alg_sendpage(struct socket *sock, struct page *page,
|
||||
int offset, size_t size, int flags);
|
||||
void af_alg_free_resources(struct af_alg_async_req *areq);
|
||||
void af_alg_async_cb(struct crypto_async_request *_req, int err);
|
||||
unsigned int af_alg_poll(struct file *file, struct socket *sock,
|
||||
poll_table *wait);
|
||||
|
||||
@@ -362,7 +362,8 @@ void
|
||||
drm_hdmi_avi_infoframe_quant_range(struct hdmi_avi_infoframe *frame,
|
||||
const struct drm_display_mode *mode,
|
||||
enum hdmi_quantization_range rgb_quant_range,
|
||||
bool rgb_quant_range_selectable);
|
||||
bool rgb_quant_range_selectable,
|
||||
bool is_hdmi2_sink);
|
||||
|
||||
/**
|
||||
* drm_eld_mnl - Get ELD monitor name length in bytes.
|
||||
|
||||
@@ -58,12 +58,21 @@ int ttm_pool_populate(struct ttm_tt *ttm);
|
||||
*/
|
||||
void ttm_pool_unpopulate(struct ttm_tt *ttm);
|
||||
|
||||
/**
|
||||
* Populates and DMA maps pages to fullfil a ttm_dma_populate() request
|
||||
*/
|
||||
int ttm_populate_and_map_pages(struct device *dev, struct ttm_dma_tt *tt);
|
||||
|
||||
/**
|
||||
* Unpopulates and DMA unmaps pages as part of a
|
||||
* ttm_dma_unpopulate() request */
|
||||
void ttm_unmap_and_unpopulate_pages(struct device *dev, struct ttm_dma_tt *tt);
|
||||
|
||||
/**
|
||||
* Output the state of pools to debugfs file
|
||||
*/
|
||||
int ttm_page_alloc_debugfs(struct seq_file *m, void *data);
|
||||
|
||||
|
||||
#if defined(CONFIG_SWIOTLB) || defined(CONFIG_INTEL_IOMMU)
|
||||
/**
|
||||
* Initialize pool allocator.
|
||||
@@ -83,17 +92,6 @@ int ttm_dma_page_alloc_debugfs(struct seq_file *m, void *data);
|
||||
int ttm_dma_populate(struct ttm_dma_tt *ttm_dma, struct device *dev);
|
||||
void ttm_dma_unpopulate(struct ttm_dma_tt *ttm_dma, struct device *dev);
|
||||
|
||||
|
||||
/**
|
||||
* Populates and DMA maps pages to fullfil a ttm_dma_populate() request
|
||||
*/
|
||||
int ttm_populate_and_map_pages(struct device *dev, struct ttm_dma_tt *tt);
|
||||
|
||||
/**
|
||||
* Unpopulates and DMA unmaps pages as part of a
|
||||
* ttm_dma_unpopulate() request */
|
||||
void ttm_unmap_and_unpopulate_pages(struct device *dev, struct ttm_dma_tt *tt);
|
||||
|
||||
#else
|
||||
static inline int ttm_dma_page_alloc_init(struct ttm_mem_global *glob,
|
||||
unsigned max_pages)
|
||||
@@ -116,16 +114,6 @@ static inline void ttm_dma_unpopulate(struct ttm_dma_tt *ttm_dma,
|
||||
struct device *dev)
|
||||
{
|
||||
}
|
||||
|
||||
static inline int ttm_populate_and_map_pages(struct device *dev, struct ttm_dma_tt *tt)
|
||||
{
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
static inline void ttm_unmap_and_unpopulate_pages(struct device *dev, struct ttm_dma_tt *tt)
|
||||
{
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1872,7 +1872,7 @@ struct super_operations {
|
||||
*/
|
||||
#define __IS_FLG(inode, flg) ((inode)->i_sb->s_flags & (flg))
|
||||
|
||||
static inline bool sb_rdonly(const struct super_block *sb) { return sb->s_flags & MS_RDONLY; }
|
||||
static inline bool sb_rdonly(const struct super_block *sb) { return sb->s_flags & SB_RDONLY; }
|
||||
#define IS_RDONLY(inode) sb_rdonly((inode)->i_sb)
|
||||
#define IS_SYNC(inode) (__IS_FLG(inode, SB_SYNCHRONOUS) || \
|
||||
((inode)->i_flags & S_SYNC))
|
||||
@@ -3088,7 +3088,8 @@ static inline int vfs_lstat(const char __user *name, struct kstat *stat)
|
||||
static inline int vfs_fstatat(int dfd, const char __user *filename,
|
||||
struct kstat *stat, int flags)
|
||||
{
|
||||
return vfs_statx(dfd, filename, flags, stat, STATX_BASIC_STATS);
|
||||
return vfs_statx(dfd, filename, flags | AT_NO_AUTOMOUNT,
|
||||
stat, STATX_BASIC_STATS);
|
||||
}
|
||||
static inline int vfs_fstat(int fd, struct kstat *stat)
|
||||
{
|
||||
@@ -3194,6 +3195,20 @@ static inline bool vma_is_dax(struct vm_area_struct *vma)
|
||||
return vma->vm_file && IS_DAX(vma->vm_file->f_mapping->host);
|
||||
}
|
||||
|
||||
static inline bool vma_is_fsdax(struct vm_area_struct *vma)
|
||||
{
|
||||
struct inode *inode;
|
||||
|
||||
if (!vma->vm_file)
|
||||
return false;
|
||||
if (!vma_is_dax(vma))
|
||||
return false;
|
||||
inode = file_inode(vma->vm_file);
|
||||
if (inode->i_mode == S_IFCHR)
|
||||
return false; /* device-dax */
|
||||
return true;
|
||||
}
|
||||
|
||||
static inline int iocb_flags(struct file *file)
|
||||
{
|
||||
int res = 0;
|
||||
|
||||
@@ -239,14 +239,6 @@ static inline int pgd_write(pgd_t pgd)
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef pud_write
|
||||
static inline int pud_write(pud_t pud)
|
||||
{
|
||||
BUG();
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#define HUGETLB_ANON_FILE "anon_hugepage"
|
||||
|
||||
enum {
|
||||
|
||||
@@ -16,11 +16,14 @@
|
||||
#define LPTIM2_OUT "lptim2_out"
|
||||
#define LPTIM3_OUT "lptim3_out"
|
||||
|
||||
#if IS_ENABLED(CONFIG_IIO_STM32_LPTIMER_TRIGGER)
|
||||
#if IS_REACHABLE(CONFIG_IIO_STM32_LPTIMER_TRIGGER)
|
||||
bool is_stm32_lptim_trigger(struct iio_trigger *trig);
|
||||
#else
|
||||
static inline bool is_stm32_lptim_trigger(struct iio_trigger *trig)
|
||||
{
|
||||
#if IS_ENABLED(CONFIG_IIO_STM32_LPTIMER_TRIGGER)
|
||||
pr_warn_once("stm32 lptim_trigger not linked in\n");
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -14,12 +14,6 @@
|
||||
#define KSYM_SYMBOL_LEN (sizeof("%s+%#lx/%#lx [%s]") + (KSYM_NAME_LEN - 1) + \
|
||||
2*(BITS_PER_LONG*3/10) + (MODULE_NAME_LEN - 1) + 1)
|
||||
|
||||
#ifndef CONFIG_64BIT
|
||||
# define KALLSYM_FMT "%08lx"
|
||||
#else
|
||||
# define KALLSYM_FMT "%016lx"
|
||||
#endif
|
||||
|
||||
struct module;
|
||||
|
||||
#ifdef CONFIG_KALLSYMS
|
||||
|
||||
@@ -715,6 +715,9 @@ int kvm_vcpu_write_guest(struct kvm_vcpu *vcpu, gpa_t gpa, const void *data,
|
||||
unsigned long len);
|
||||
void kvm_vcpu_mark_page_dirty(struct kvm_vcpu *vcpu, gfn_t gfn);
|
||||
|
||||
void kvm_sigset_activate(struct kvm_vcpu *vcpu);
|
||||
void kvm_sigset_deactivate(struct kvm_vcpu *vcpu);
|
||||
|
||||
void kvm_vcpu_block(struct kvm_vcpu *vcpu);
|
||||
void kvm_arch_vcpu_blocking(struct kvm_vcpu *vcpu);
|
||||
void kvm_arch_vcpu_unblocking(struct kvm_vcpu *vcpu);
|
||||
|
||||
@@ -54,7 +54,7 @@ static inline struct page *new_page_nodemask(struct page *page,
|
||||
new_page = __alloc_pages_nodemask(gfp_mask, order,
|
||||
preferred_nid, nodemask);
|
||||
|
||||
if (new_page && PageTransHuge(page))
|
||||
if (new_page && PageTransHuge(new_page))
|
||||
prep_transhuge_page(new_page);
|
||||
|
||||
return new_page;
|
||||
|
||||
@@ -377,6 +377,7 @@ enum page_entry_size {
|
||||
struct vm_operations_struct {
|
||||
void (*open)(struct vm_area_struct * area);
|
||||
void (*close)(struct vm_area_struct * area);
|
||||
int (*split)(struct vm_area_struct * area, unsigned long addr);
|
||||
int (*mremap)(struct vm_area_struct * area);
|
||||
int (*fault)(struct vm_fault *vmf);
|
||||
int (*huge_fault)(struct vm_fault *vmf, enum page_entry_size pe_size);
|
||||
@@ -1379,6 +1380,19 @@ long get_user_pages_locked(unsigned long start, unsigned long nr_pages,
|
||||
unsigned int gup_flags, struct page **pages, int *locked);
|
||||
long get_user_pages_unlocked(unsigned long start, unsigned long nr_pages,
|
||||
struct page **pages, unsigned int gup_flags);
|
||||
#ifdef CONFIG_FS_DAX
|
||||
long get_user_pages_longterm(unsigned long start, unsigned long nr_pages,
|
||||
unsigned int gup_flags, struct page **pages,
|
||||
struct vm_area_struct **vmas);
|
||||
#else
|
||||
static inline long get_user_pages_longterm(unsigned long start,
|
||||
unsigned long nr_pages, unsigned int gup_flags,
|
||||
struct page **pages, struct vm_area_struct **vmas)
|
||||
{
|
||||
return get_user_pages(start, nr_pages, gup_flags, pages, vmas);
|
||||
}
|
||||
#endif /* CONFIG_FS_DAX */
|
||||
|
||||
int get_user_pages_fast(unsigned long start, int nr_pages, int write,
|
||||
struct page **pages);
|
||||
|
||||
|
||||
@@ -184,7 +184,7 @@ static inline int serdev_controller_receive_buf(struct serdev_controller *ctrl,
|
||||
struct serdev_device *serdev = ctrl->serdev;
|
||||
|
||||
if (!serdev || !serdev->ops->receive_buf)
|
||||
return -EINVAL;
|
||||
return 0;
|
||||
|
||||
return serdev->ops->receive_buf(serdev, data, count);
|
||||
}
|
||||
|
||||
@@ -1406,8 +1406,7 @@ static inline struct sk_buff *skb_get(struct sk_buff *skb)
|
||||
}
|
||||
|
||||
/*
|
||||
* If users == 1, we are the only owner and are can avoid redundant
|
||||
* atomic change.
|
||||
* If users == 1, we are the only owner and can avoid redundant atomic changes.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
||||
@@ -213,7 +213,7 @@ extern void __init cache_initialize(void);
|
||||
extern int cache_register_net(struct cache_detail *cd, struct net *net);
|
||||
extern void cache_unregister_net(struct cache_detail *cd, struct net *net);
|
||||
|
||||
extern struct cache_detail *cache_create_net(struct cache_detail *tmpl, struct net *net);
|
||||
extern struct cache_detail *cache_create_net(const struct cache_detail *tmpl, struct net *net);
|
||||
extern void cache_destroy_net(struct cache_detail *cd, struct net *net);
|
||||
|
||||
extern void sunrpc_init_cache_detail(struct cache_detail *cd);
|
||||
|
||||
@@ -4470,18 +4470,24 @@ struct sk_buff *ieee80211_pspoll_get(struct ieee80211_hw *hw,
|
||||
* ieee80211_nullfunc_get - retrieve a nullfunc template
|
||||
* @hw: pointer obtained from ieee80211_alloc_hw().
|
||||
* @vif: &struct ieee80211_vif pointer from the add_interface callback.
|
||||
* @qos_ok: QoS NDP is acceptable to the caller, this should be set
|
||||
* if at all possible
|
||||
*
|
||||
* Creates a Nullfunc template which can, for example, uploaded to
|
||||
* hardware. The template must be updated after association so that correct
|
||||
* BSSID and address is used.
|
||||
*
|
||||
* If @qos_ndp is set and the association is to an AP with QoS/WMM, the
|
||||
* returned packet will be QoS NDP.
|
||||
*
|
||||
* Note: Caller (or hardware) is responsible for setting the
|
||||
* &IEEE80211_FCTL_PM bit as well as Duration and Sequence Control fields.
|
||||
*
|
||||
* Return: The nullfunc template. %NULL on error.
|
||||
*/
|
||||
struct sk_buff *ieee80211_nullfunc_get(struct ieee80211_hw *hw,
|
||||
struct ieee80211_vif *vif);
|
||||
struct ieee80211_vif *vif,
|
||||
bool qos_ok);
|
||||
|
||||
/**
|
||||
* ieee80211_probereq_get - retrieve a Probe Request template
|
||||
|
||||
@@ -48,31 +48,32 @@ static inline __wsum sctp_csum_update(const void *buff, int len, __wsum sum)
|
||||
/* This uses the crypto implementation of crc32c, which is either
|
||||
* implemented w/ hardware support or resolves to __crc32c_le().
|
||||
*/
|
||||
return crc32c(sum, buff, len);
|
||||
return (__force __wsum)crc32c((__force __u32)sum, buff, len);
|
||||
}
|
||||
|
||||
static inline __wsum sctp_csum_combine(__wsum csum, __wsum csum2,
|
||||
int offset, int len)
|
||||
{
|
||||
return __crc32c_le_combine(csum, csum2, len);
|
||||
return (__force __wsum)__crc32c_le_combine((__force __u32)csum,
|
||||
(__force __u32)csum2, len);
|
||||
}
|
||||
|
||||
static inline __le32 sctp_compute_cksum(const struct sk_buff *skb,
|
||||
unsigned int offset)
|
||||
{
|
||||
struct sctphdr *sh = sctp_hdr(skb);
|
||||
__le32 ret, old = sh->checksum;
|
||||
const struct skb_checksum_ops ops = {
|
||||
.update = sctp_csum_update,
|
||||
.combine = sctp_csum_combine,
|
||||
};
|
||||
__le32 old = sh->checksum;
|
||||
__wsum new;
|
||||
|
||||
sh->checksum = 0;
|
||||
ret = cpu_to_le32(~__skb_checksum(skb, offset, skb->len - offset,
|
||||
~(__u32)0, &ops));
|
||||
new = ~__skb_checksum(skb, offset, skb->len - offset, ~(__wsum)0, &ops);
|
||||
sh->checksum = old;
|
||||
|
||||
return ret;
|
||||
return cpu_to_le32((__force __u32)new);
|
||||
}
|
||||
|
||||
#endif /* __sctp_checksum_h__ */
|
||||
|
||||
@@ -194,6 +194,11 @@ void sctp_remaddr_proc_exit(struct net *net);
|
||||
*/
|
||||
int sctp_offload_init(void);
|
||||
|
||||
/*
|
||||
* sctp/stream_sched.c
|
||||
*/
|
||||
void sctp_sched_ops_init(void);
|
||||
|
||||
/*
|
||||
* sctp/stream.c
|
||||
*/
|
||||
|
||||
@@ -69,4 +69,9 @@ void sctp_sched_dequeue_common(struct sctp_outq *q, struct sctp_chunk *ch);
|
||||
int sctp_sched_init_sid(struct sctp_stream *stream, __u16 sid, gfp_t gfp);
|
||||
struct sctp_sched_ops *sctp_sched_ops_from_stream(struct sctp_stream *stream);
|
||||
|
||||
void sctp_sched_ops_register(enum sctp_sched_type sched,
|
||||
struct sctp_sched_ops *sched_ops);
|
||||
void sctp_sched_ops_prio_init(void);
|
||||
void sctp_sched_ops_rr_init(void);
|
||||
|
||||
#endif /* __sctp_stream_sched_h__ */
|
||||
|
||||
@@ -503,7 +503,8 @@ struct sctp_datamsg {
|
||||
/* Did the messenge fail to send? */
|
||||
int send_error;
|
||||
u8 send_failed:1,
|
||||
can_delay; /* should this message be Nagle delayed */
|
||||
can_delay:1, /* should this message be Nagle delayed */
|
||||
abandoned:1; /* should this message be abandoned */
|
||||
};
|
||||
|
||||
struct sctp_datamsg *sctp_datamsg_from_user(struct sctp_association *,
|
||||
|
||||
@@ -14,7 +14,6 @@ struct tcf_sample {
|
||||
struct psample_group __rcu *psample_group;
|
||||
u32 psample_group_num;
|
||||
struct list_head tcfm_list;
|
||||
struct rcu_head rcu;
|
||||
};
|
||||
#define to_sample(a) ((struct tcf_sample *)a)
|
||||
|
||||
|
||||
@@ -844,12 +844,11 @@ static inline int tcp_v6_sdif(const struct sk_buff *skb)
|
||||
}
|
||||
#endif
|
||||
|
||||
/* TCP_SKB_CB reference means this can not be used from early demux */
|
||||
static inline bool inet_exact_dif_match(struct net *net, struct sk_buff *skb)
|
||||
{
|
||||
#if IS_ENABLED(CONFIG_NET_L3_MASTER_DEV)
|
||||
if (!net->ipv4.sysctl_tcp_l3mdev_accept &&
|
||||
skb && ipv4_l3mdev_skb(TCP_SKB_CB(skb)->header.h4.flags))
|
||||
skb && ipv4_l3mdev_skb(IPCB(skb)->flags))
|
||||
return true;
|
||||
#endif
|
||||
return false;
|
||||
|
||||
@@ -49,6 +49,7 @@ enum rxrpc_conn_trace {
|
||||
rxrpc_conn_put_client,
|
||||
rxrpc_conn_put_service,
|
||||
rxrpc_conn_queued,
|
||||
rxrpc_conn_reap_service,
|
||||
rxrpc_conn_seen,
|
||||
};
|
||||
|
||||
@@ -138,10 +139,24 @@ enum rxrpc_rtt_rx_trace {
|
||||
|
||||
enum rxrpc_timer_trace {
|
||||
rxrpc_timer_begin,
|
||||
rxrpc_timer_exp_ack,
|
||||
rxrpc_timer_exp_hard,
|
||||
rxrpc_timer_exp_idle,
|
||||
rxrpc_timer_exp_keepalive,
|
||||
rxrpc_timer_exp_lost_ack,
|
||||
rxrpc_timer_exp_normal,
|
||||
rxrpc_timer_exp_ping,
|
||||
rxrpc_timer_exp_resend,
|
||||
rxrpc_timer_expired,
|
||||
rxrpc_timer_init_for_reply,
|
||||
rxrpc_timer_init_for_send_reply,
|
||||
rxrpc_timer_restart,
|
||||
rxrpc_timer_set_for_ack,
|
||||
rxrpc_timer_set_for_hard,
|
||||
rxrpc_timer_set_for_idle,
|
||||
rxrpc_timer_set_for_keepalive,
|
||||
rxrpc_timer_set_for_lost_ack,
|
||||
rxrpc_timer_set_for_normal,
|
||||
rxrpc_timer_set_for_ping,
|
||||
rxrpc_timer_set_for_resend,
|
||||
rxrpc_timer_set_for_send,
|
||||
@@ -150,6 +165,7 @@ enum rxrpc_timer_trace {
|
||||
enum rxrpc_propose_ack_trace {
|
||||
rxrpc_propose_ack_client_tx_end,
|
||||
rxrpc_propose_ack_input_data,
|
||||
rxrpc_propose_ack_ping_for_keepalive,
|
||||
rxrpc_propose_ack_ping_for_lost_ack,
|
||||
rxrpc_propose_ack_ping_for_lost_reply,
|
||||
rxrpc_propose_ack_ping_for_params,
|
||||
@@ -206,6 +222,7 @@ enum rxrpc_congest_change {
|
||||
EM(rxrpc_conn_put_client, "PTc") \
|
||||
EM(rxrpc_conn_put_service, "PTs") \
|
||||
EM(rxrpc_conn_queued, "QUE") \
|
||||
EM(rxrpc_conn_reap_service, "RPs") \
|
||||
E_(rxrpc_conn_seen, "SEE")
|
||||
|
||||
#define rxrpc_client_traces \
|
||||
@@ -296,16 +313,31 @@ enum rxrpc_congest_change {
|
||||
#define rxrpc_timer_traces \
|
||||
EM(rxrpc_timer_begin, "Begin ") \
|
||||
EM(rxrpc_timer_expired, "*EXPR*") \
|
||||
EM(rxrpc_timer_exp_ack, "ExpAck") \
|
||||
EM(rxrpc_timer_exp_hard, "ExpHrd") \
|
||||
EM(rxrpc_timer_exp_idle, "ExpIdl") \
|
||||
EM(rxrpc_timer_exp_keepalive, "ExpKA ") \
|
||||
EM(rxrpc_timer_exp_lost_ack, "ExpLoA") \
|
||||
EM(rxrpc_timer_exp_normal, "ExpNml") \
|
||||
EM(rxrpc_timer_exp_ping, "ExpPng") \
|
||||
EM(rxrpc_timer_exp_resend, "ExpRsn") \
|
||||
EM(rxrpc_timer_init_for_reply, "IniRpl") \
|
||||
EM(rxrpc_timer_init_for_send_reply, "SndRpl") \
|
||||
EM(rxrpc_timer_restart, "Restrt") \
|
||||
EM(rxrpc_timer_set_for_ack, "SetAck") \
|
||||
EM(rxrpc_timer_set_for_hard, "SetHrd") \
|
||||
EM(rxrpc_timer_set_for_idle, "SetIdl") \
|
||||
EM(rxrpc_timer_set_for_keepalive, "KeepAl") \
|
||||
EM(rxrpc_timer_set_for_lost_ack, "SetLoA") \
|
||||
EM(rxrpc_timer_set_for_normal, "SetNml") \
|
||||
EM(rxrpc_timer_set_for_ping, "SetPng") \
|
||||
EM(rxrpc_timer_set_for_resend, "SetRTx") \
|
||||
E_(rxrpc_timer_set_for_send, "SetTx ")
|
||||
E_(rxrpc_timer_set_for_send, "SetSnd")
|
||||
|
||||
#define rxrpc_propose_ack_traces \
|
||||
EM(rxrpc_propose_ack_client_tx_end, "ClTxEnd") \
|
||||
EM(rxrpc_propose_ack_input_data, "DataIn ") \
|
||||
EM(rxrpc_propose_ack_ping_for_keepalive, "KeepAlv") \
|
||||
EM(rxrpc_propose_ack_ping_for_lost_ack, "LostAck") \
|
||||
EM(rxrpc_propose_ack_ping_for_lost_reply, "LostRpl") \
|
||||
EM(rxrpc_propose_ack_ping_for_params, "Params ") \
|
||||
@@ -932,39 +964,47 @@ TRACE_EVENT(rxrpc_rtt_rx,
|
||||
|
||||
TRACE_EVENT(rxrpc_timer,
|
||||
TP_PROTO(struct rxrpc_call *call, enum rxrpc_timer_trace why,
|
||||
ktime_t now, unsigned long now_j),
|
||||
unsigned long now),
|
||||
|
||||
TP_ARGS(call, why, now, now_j),
|
||||
TP_ARGS(call, why, now),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(struct rxrpc_call *, call )
|
||||
__field(enum rxrpc_timer_trace, why )
|
||||
__field_struct(ktime_t, now )
|
||||
__field_struct(ktime_t, expire_at )
|
||||
__field_struct(ktime_t, ack_at )
|
||||
__field_struct(ktime_t, resend_at )
|
||||
__field(unsigned long, now_j )
|
||||
__field(unsigned long, timer )
|
||||
__field(long, now )
|
||||
__field(long, ack_at )
|
||||
__field(long, ack_lost_at )
|
||||
__field(long, resend_at )
|
||||
__field(long, ping_at )
|
||||
__field(long, expect_rx_by )
|
||||
__field(long, expect_req_by )
|
||||
__field(long, expect_term_by )
|
||||
__field(long, timer )
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->call = call;
|
||||
__entry->why = why;
|
||||
__entry->now = now;
|
||||
__entry->expire_at = call->expire_at;
|
||||
__entry->ack_at = call->ack_at;
|
||||
__entry->resend_at = call->resend_at;
|
||||
__entry->now_j = now_j;
|
||||
__entry->timer = call->timer.expires;
|
||||
__entry->call = call;
|
||||
__entry->why = why;
|
||||
__entry->now = now;
|
||||
__entry->ack_at = call->ack_at;
|
||||
__entry->ack_lost_at = call->ack_lost_at;
|
||||
__entry->resend_at = call->resend_at;
|
||||
__entry->expect_rx_by = call->expect_rx_by;
|
||||
__entry->expect_req_by = call->expect_req_by;
|
||||
__entry->expect_term_by = call->expect_term_by;
|
||||
__entry->timer = call->timer.expires;
|
||||
),
|
||||
|
||||
TP_printk("c=%p %s x=%lld a=%lld r=%lld t=%ld",
|
||||
TP_printk("c=%p %s a=%ld la=%ld r=%ld xr=%ld xq=%ld xt=%ld t=%ld",
|
||||
__entry->call,
|
||||
__print_symbolic(__entry->why, rxrpc_timer_traces),
|
||||
ktime_to_ns(ktime_sub(__entry->expire_at, __entry->now)),
|
||||
ktime_to_ns(ktime_sub(__entry->ack_at, __entry->now)),
|
||||
ktime_to_ns(ktime_sub(__entry->resend_at, __entry->now)),
|
||||
__entry->timer - __entry->now_j)
|
||||
__entry->ack_at - __entry->now,
|
||||
__entry->ack_lost_at - __entry->now,
|
||||
__entry->resend_at - __entry->now,
|
||||
__entry->expect_rx_by - __entry->now,
|
||||
__entry->expect_req_by - __entry->now,
|
||||
__entry->expect_term_by - __entry->now,
|
||||
__entry->timer - __entry->now)
|
||||
);
|
||||
|
||||
TRACE_EVENT(rxrpc_rx_lose,
|
||||
@@ -1080,7 +1120,7 @@ TRACE_EVENT(rxrpc_congest,
|
||||
memcpy(&__entry->sum, summary, sizeof(__entry->sum));
|
||||
),
|
||||
|
||||
TP_printk("c=%p %08x %s %08x %s cw=%u ss=%u nr=%u,%u nw=%u,%u r=%u b=%u u=%u d=%u l=%x%s%s%s",
|
||||
TP_printk("c=%p r=%08x %s q=%08x %s cw=%u ss=%u nr=%u,%u nw=%u,%u r=%u b=%u u=%u d=%u l=%x%s%s%s",
|
||||
__entry->call,
|
||||
__entry->ack_serial,
|
||||
__print_symbolic(__entry->sum.ack_reason, rxrpc_ack_names),
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/filter.h>
|
||||
#include <linux/tracepoint.h>
|
||||
#include <linux/bpf.h>
|
||||
|
||||
#define __XDP_ACT_MAP(FN) \
|
||||
FN(ABORTED) \
|
||||
|
||||
@@ -91,7 +91,7 @@ PTR_FIELD(PTR_GEN, 0, 8)
|
||||
|
||||
#define PTR_CHECK_DEV ((1 << PTR_DEV_BITS) - 1)
|
||||
|
||||
#define PTR(gen, offset, dev) \
|
||||
#define MAKE_PTR(gen, offset, dev) \
|
||||
((((__u64) dev) << 51) | ((__u64) offset) << 8 | gen)
|
||||
|
||||
/* Bkey utility code */
|
||||
|
||||
@@ -76,7 +76,7 @@ struct bfs_super_block {
|
||||
#define BFS_FILEBLOCKS(ip) \
|
||||
((ip)->i_sblock == 0 ? 0 : (le32_to_cpu((ip)->i_eblock) + 1) - le32_to_cpu((ip)->i_sblock))
|
||||
#define BFS_UNCLEAN(bfs_sb, sb) \
|
||||
((le32_to_cpu(bfs_sb->s_from) != -1) && (le32_to_cpu(bfs_sb->s_to) != -1) && !(sb->s_flags & MS_RDONLY))
|
||||
((le32_to_cpu(bfs_sb->s_from) != -1) && (le32_to_cpu(bfs_sb->s_to) != -1) && !(sb->s_flags & SB_RDONLY))
|
||||
|
||||
|
||||
#endif /* _LINUX_BFS_FS_H */
|
||||
|
||||
@@ -233,29 +233,29 @@ struct kfd_ioctl_wait_events_args {
|
||||
};
|
||||
|
||||
struct kfd_ioctl_set_scratch_backing_va_args {
|
||||
uint64_t va_addr; /* to KFD */
|
||||
uint32_t gpu_id; /* to KFD */
|
||||
uint32_t pad;
|
||||
__u64 va_addr; /* to KFD */
|
||||
__u32 gpu_id; /* to KFD */
|
||||
__u32 pad;
|
||||
};
|
||||
|
||||
struct kfd_ioctl_get_tile_config_args {
|
||||
/* to KFD: pointer to tile array */
|
||||
uint64_t tile_config_ptr;
|
||||
__u64 tile_config_ptr;
|
||||
/* to KFD: pointer to macro tile array */
|
||||
uint64_t macro_tile_config_ptr;
|
||||
__u64 macro_tile_config_ptr;
|
||||
/* to KFD: array size allocated by user mode
|
||||
* from KFD: array size filled by kernel
|
||||
*/
|
||||
uint32_t num_tile_configs;
|
||||
__u32 num_tile_configs;
|
||||
/* to KFD: array size allocated by user mode
|
||||
* from KFD: array size filled by kernel
|
||||
*/
|
||||
uint32_t num_macro_tile_configs;
|
||||
__u32 num_macro_tile_configs;
|
||||
|
||||
uint32_t gpu_id; /* to KFD */
|
||||
uint32_t gb_addr_config; /* from KFD */
|
||||
uint32_t num_banks; /* from KFD */
|
||||
uint32_t num_ranks; /* from KFD */
|
||||
__u32 gpu_id; /* to KFD */
|
||||
__u32 gb_addr_config; /* from KFD */
|
||||
__u32 num_banks; /* from KFD */
|
||||
__u32 num_ranks; /* from KFD */
|
||||
/* struct size can be extended later if needed
|
||||
* without breaking ABI compatibility
|
||||
*/
|
||||
|
||||
@@ -59,6 +59,7 @@ enum rxrpc_cmsg_type {
|
||||
RXRPC_EXCLUSIVE_CALL = 10, /* s-: Call should be on exclusive connection */
|
||||
RXRPC_UPGRADE_SERVICE = 11, /* s-: Request service upgrade for client call */
|
||||
RXRPC_TX_LENGTH = 12, /* s-: Total length of Tx data */
|
||||
RXRPC_SET_CALL_TIMEOUT = 13, /* s-: Set one or more call timeouts */
|
||||
RXRPC__SUPPORTED
|
||||
};
|
||||
|
||||
|
||||
@@ -880,6 +880,8 @@ struct usb_wireless_cap_descriptor { /* Ultra Wide Band */
|
||||
__u8 bReserved;
|
||||
} __attribute__((packed));
|
||||
|
||||
#define USB_DT_USB_WIRELESS_CAP_SIZE 11
|
||||
|
||||
/* USB 2.0 Extension descriptor */
|
||||
#define USB_CAP_TYPE_EXT 2
|
||||
|
||||
@@ -1072,6 +1074,7 @@ struct usb_ptm_cap_descriptor {
|
||||
__u8 bDevCapabilityType;
|
||||
} __attribute__((packed));
|
||||
|
||||
#define USB_DT_USB_PTM_ID_SIZE 3
|
||||
/*
|
||||
* The size of the descriptor for the Sublink Speed Attribute Count
|
||||
* (SSAC) specified in bmAttributes[4:0].
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/* AF_VSOCK sock_diag(7) interface for querying open sockets */
|
||||
|
||||
#ifndef _UAPI__VM_SOCKETS_DIAG_H__
|
||||
|
||||
Reference in New Issue
Block a user