Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
Merging 4.10-rc3 so that the cryptodev tree builds on ARM64.
This commit is contained in:
@@ -41,6 +41,9 @@ ssize_t dax_iomap_rw(struct kiocb *iocb, struct iov_iter *iter,
|
||||
int dax_iomap_fault(struct vm_area_struct *vma, struct vm_fault *vmf,
|
||||
struct iomap_ops *ops);
|
||||
int dax_delete_mapping_entry(struct address_space *mapping, pgoff_t index);
|
||||
int dax_invalidate_mapping_entry(struct address_space *mapping, pgoff_t index);
|
||||
int dax_invalidate_mapping_entry_sync(struct address_space *mapping,
|
||||
pgoff_t index);
|
||||
void dax_wake_mapping_entry_waiter(struct address_space *mapping,
|
||||
pgoff_t index, void *entry, bool wake_all);
|
||||
|
||||
|
||||
@@ -610,7 +610,6 @@ bool bpf_helper_changes_pkt_data(void *func);
|
||||
struct bpf_prog *bpf_patch_insn_single(struct bpf_prog *prog, u32 off,
|
||||
const struct bpf_insn *patch, u32 len);
|
||||
void bpf_warn_invalid_xdp_action(u32 act);
|
||||
void bpf_warn_invalid_xdp_buffer(void);
|
||||
|
||||
#ifdef CONFIG_BPF_JIT
|
||||
extern int bpf_jit_enable;
|
||||
|
||||
@@ -323,8 +323,6 @@ extern void fsnotify_init_mark(struct fsnotify_mark *mark, void (*free_mark)(str
|
||||
extern struct fsnotify_mark *fsnotify_find_inode_mark(struct fsnotify_group *group, struct inode *inode);
|
||||
/* find (and take a reference) to a mark associated with group and vfsmount */
|
||||
extern struct fsnotify_mark *fsnotify_find_vfsmount_mark(struct fsnotify_group *group, struct vfsmount *mnt);
|
||||
/* copy the values from old into new */
|
||||
extern void fsnotify_duplicate_mark(struct fsnotify_mark *new, struct fsnotify_mark *old);
|
||||
/* set the ignored_mask of a mark */
|
||||
extern void fsnotify_set_mark_ignored_mask_locked(struct fsnotify_mark *mark, __u32 mask);
|
||||
/* set the mask of a mark (might pin the object into memory */
|
||||
|
||||
@@ -146,15 +146,6 @@ enum {
|
||||
DISK_EVENT_EJECT_REQUEST = 1 << 1, /* eject requested */
|
||||
};
|
||||
|
||||
#define BLK_SCSI_MAX_CMDS (256)
|
||||
#define BLK_SCSI_CMD_PER_LONG (BLK_SCSI_MAX_CMDS / (sizeof(long) * 8))
|
||||
|
||||
struct blk_scsi_cmd_filter {
|
||||
unsigned long read_ok[BLK_SCSI_CMD_PER_LONG];
|
||||
unsigned long write_ok[BLK_SCSI_CMD_PER_LONG];
|
||||
struct kobject kobj;
|
||||
};
|
||||
|
||||
struct disk_part_tbl {
|
||||
struct rcu_head rcu_head;
|
||||
int len;
|
||||
|
||||
@@ -115,6 +115,16 @@ struct st_sensor_bdu {
|
||||
u8 mask;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct st_sensor_das - ST sensor device data alignment selection
|
||||
* @addr: address of the register.
|
||||
* @mask: mask to write the das flag for left alignment.
|
||||
*/
|
||||
struct st_sensor_das {
|
||||
u8 addr;
|
||||
u8 mask;
|
||||
};
|
||||
|
||||
/**
|
||||
* struct st_sensor_data_ready_irq - ST sensor device data-ready interrupt
|
||||
* @addr: address of the register.
|
||||
@@ -185,6 +195,7 @@ struct st_sensor_transfer_function {
|
||||
* @enable_axis: Enable one or more axis of the sensor.
|
||||
* @fs: Full scale register and full scale list available.
|
||||
* @bdu: Block data update register.
|
||||
* @das: Data Alignment Selection register.
|
||||
* @drdy_irq: Data ready register of the sensor.
|
||||
* @multi_read_bit: Use or not particular bit for [I2C/SPI] multi-read.
|
||||
* @bootime: samples to discard when sensor passing from power-down to power-up.
|
||||
@@ -200,6 +211,7 @@ struct st_sensor_settings {
|
||||
struct st_sensor_axis enable_axis;
|
||||
struct st_sensor_fullscale fs;
|
||||
struct st_sensor_bdu bdu;
|
||||
struct st_sensor_das das;
|
||||
struct st_sensor_data_ready_irq drdy_irq;
|
||||
bool multi_read_bit;
|
||||
unsigned int bootime;
|
||||
|
||||
@@ -13,34 +13,10 @@
|
||||
#ifndef MDEV_H
|
||||
#define MDEV_H
|
||||
|
||||
/* Parent device */
|
||||
struct parent_device {
|
||||
struct device *dev;
|
||||
const struct parent_ops *ops;
|
||||
|
||||
/* internal */
|
||||
struct kref ref;
|
||||
struct mutex lock;
|
||||
struct list_head next;
|
||||
struct kset *mdev_types_kset;
|
||||
struct list_head type_list;
|
||||
};
|
||||
|
||||
/* Mediated device */
|
||||
struct mdev_device {
|
||||
struct device dev;
|
||||
struct parent_device *parent;
|
||||
uuid_le uuid;
|
||||
void *driver_data;
|
||||
|
||||
/* internal */
|
||||
struct kref ref;
|
||||
struct list_head next;
|
||||
struct kobject *type_kobj;
|
||||
};
|
||||
struct mdev_device;
|
||||
|
||||
/**
|
||||
* struct parent_ops - Structure to be registered for each parent device to
|
||||
* struct mdev_parent_ops - Structure to be registered for each parent device to
|
||||
* register the device to mdev module.
|
||||
*
|
||||
* @owner: The module owner.
|
||||
@@ -86,10 +62,9 @@ struct mdev_device {
|
||||
* @mdev: mediated device structure
|
||||
* @vma: vma structure
|
||||
* Parent device that support mediated device should be registered with mdev
|
||||
* module with parent_ops structure.
|
||||
* module with mdev_parent_ops structure.
|
||||
**/
|
||||
|
||||
struct parent_ops {
|
||||
struct mdev_parent_ops {
|
||||
struct module *owner;
|
||||
const struct attribute_group **dev_attr_groups;
|
||||
const struct attribute_group **mdev_attr_groups;
|
||||
@@ -103,7 +78,7 @@ struct parent_ops {
|
||||
size_t count, loff_t *ppos);
|
||||
ssize_t (*write)(struct mdev_device *mdev, const char __user *buf,
|
||||
size_t count, loff_t *ppos);
|
||||
ssize_t (*ioctl)(struct mdev_device *mdev, unsigned int cmd,
|
||||
long (*ioctl)(struct mdev_device *mdev, unsigned int cmd,
|
||||
unsigned long arg);
|
||||
int (*mmap)(struct mdev_device *mdev, struct vm_area_struct *vma);
|
||||
};
|
||||
@@ -142,27 +117,22 @@ struct mdev_driver {
|
||||
};
|
||||
|
||||
#define to_mdev_driver(drv) container_of(drv, struct mdev_driver, driver)
|
||||
#define to_mdev_device(dev) container_of(dev, struct mdev_device, dev)
|
||||
|
||||
static inline void *mdev_get_drvdata(struct mdev_device *mdev)
|
||||
{
|
||||
return mdev->driver_data;
|
||||
}
|
||||
|
||||
static inline void mdev_set_drvdata(struct mdev_device *mdev, void *data)
|
||||
{
|
||||
mdev->driver_data = data;
|
||||
}
|
||||
extern void *mdev_get_drvdata(struct mdev_device *mdev);
|
||||
extern void mdev_set_drvdata(struct mdev_device *mdev, void *data);
|
||||
extern uuid_le mdev_uuid(struct mdev_device *mdev);
|
||||
|
||||
extern struct bus_type mdev_bus_type;
|
||||
|
||||
#define dev_is_mdev(d) ((d)->bus == &mdev_bus_type)
|
||||
|
||||
extern int mdev_register_device(struct device *dev,
|
||||
const struct parent_ops *ops);
|
||||
const struct mdev_parent_ops *ops);
|
||||
extern void mdev_unregister_device(struct device *dev);
|
||||
|
||||
extern int mdev_register_driver(struct mdev_driver *drv, struct module *owner);
|
||||
extern void mdev_unregister_driver(struct mdev_driver *drv);
|
||||
|
||||
extern struct device *mdev_parent_dev(struct mdev_device *mdev);
|
||||
extern struct device *mdev_dev(struct mdev_device *mdev);
|
||||
extern struct mdev_device *mdev_from_dev(struct device *dev);
|
||||
|
||||
#endif /* MDEV_H */
|
||||
|
||||
@@ -1384,6 +1384,8 @@ int set_phv_bit(struct mlx4_dev *dev, u8 port, int new_val);
|
||||
int get_phv_bit(struct mlx4_dev *dev, u8 port, int *phv);
|
||||
int mlx4_get_is_vlan_offload_disabled(struct mlx4_dev *dev, u8 port,
|
||||
bool *vlan_offload_disabled);
|
||||
void mlx4_handle_eth_header_mcast_prio(struct mlx4_net_trans_rule_hw_ctrl *ctrl,
|
||||
struct _rule_hw *eth_header);
|
||||
int mlx4_find_cached_mac(struct mlx4_dev *dev, u8 port, u64 mac, int *idx);
|
||||
int mlx4_find_cached_vlan(struct mlx4_dev *dev, u8 port, u16 vid, int *idx);
|
||||
int mlx4_register_vlan(struct mlx4_dev *dev, u8 port, u16 vlan, int *index);
|
||||
|
||||
@@ -1071,11 +1071,6 @@ enum {
|
||||
MLX5_INFINIBAND_PORT_COUNTERS_GROUP = 0x20,
|
||||
};
|
||||
|
||||
enum {
|
||||
MLX5_PCIE_PERFORMANCE_COUNTERS_GROUP = 0x0,
|
||||
MLX5_PCIE_TIMERS_AND_STATES_COUNTERS_GROUP = 0x2,
|
||||
};
|
||||
|
||||
static inline u16 mlx5_to_sw_pkey_sz(int pkey_sz)
|
||||
{
|
||||
if (pkey_sz > MLX5_MAX_LOG_PKEY_TABLE)
|
||||
|
||||
@@ -123,7 +123,6 @@ enum {
|
||||
MLX5_REG_HOST_ENDIANNESS = 0x7004,
|
||||
MLX5_REG_MCIA = 0x9014,
|
||||
MLX5_REG_MLCR = 0x902b,
|
||||
MLX5_REG_MPCNT = 0x9051,
|
||||
};
|
||||
|
||||
enum mlx5_dcbx_oper_mode {
|
||||
|
||||
@@ -1757,80 +1757,6 @@ struct mlx5_ifc_eth_802_3_cntrs_grp_data_layout_bits {
|
||||
u8 reserved_at_4c0[0x300];
|
||||
};
|
||||
|
||||
struct mlx5_ifc_pcie_perf_cntrs_grp_data_layout_bits {
|
||||
u8 life_time_counter_high[0x20];
|
||||
|
||||
u8 life_time_counter_low[0x20];
|
||||
|
||||
u8 rx_errors[0x20];
|
||||
|
||||
u8 tx_errors[0x20];
|
||||
|
||||
u8 l0_to_recovery_eieos[0x20];
|
||||
|
||||
u8 l0_to_recovery_ts[0x20];
|
||||
|
||||
u8 l0_to_recovery_framing[0x20];
|
||||
|
||||
u8 l0_to_recovery_retrain[0x20];
|
||||
|
||||
u8 crc_error_dllp[0x20];
|
||||
|
||||
u8 crc_error_tlp[0x20];
|
||||
|
||||
u8 reserved_at_140[0x680];
|
||||
};
|
||||
|
||||
struct mlx5_ifc_pcie_tas_cntrs_grp_data_layout_bits {
|
||||
u8 life_time_counter_high[0x20];
|
||||
|
||||
u8 life_time_counter_low[0x20];
|
||||
|
||||
u8 time_to_boot_image_start[0x20];
|
||||
|
||||
u8 time_to_link_image[0x20];
|
||||
|
||||
u8 calibration_time[0x20];
|
||||
|
||||
u8 time_to_first_perst[0x20];
|
||||
|
||||
u8 time_to_detect_state[0x20];
|
||||
|
||||
u8 time_to_l0[0x20];
|
||||
|
||||
u8 time_to_crs_en[0x20];
|
||||
|
||||
u8 time_to_plastic_image_start[0x20];
|
||||
|
||||
u8 time_to_iron_image_start[0x20];
|
||||
|
||||
u8 perst_handler[0x20];
|
||||
|
||||
u8 times_in_l1[0x20];
|
||||
|
||||
u8 times_in_l23[0x20];
|
||||
|
||||
u8 dl_down[0x20];
|
||||
|
||||
u8 config_cycle1usec[0x20];
|
||||
|
||||
u8 config_cycle2to7usec[0x20];
|
||||
|
||||
u8 config_cycle_8to15usec[0x20];
|
||||
|
||||
u8 config_cycle_16_to_63usec[0x20];
|
||||
|
||||
u8 config_cycle_64usec[0x20];
|
||||
|
||||
u8 correctable_err_msg_sent[0x20];
|
||||
|
||||
u8 non_fatal_err_msg_sent[0x20];
|
||||
|
||||
u8 fatal_err_msg_sent[0x20];
|
||||
|
||||
u8 reserved_at_2e0[0x4e0];
|
||||
};
|
||||
|
||||
struct mlx5_ifc_cmd_inter_comp_event_bits {
|
||||
u8 command_completion_vector[0x20];
|
||||
|
||||
@@ -2995,12 +2921,6 @@ union mlx5_ifc_eth_cntrs_grp_data_layout_auto_bits {
|
||||
u8 reserved_at_0[0x7c0];
|
||||
};
|
||||
|
||||
union mlx5_ifc_pcie_cntrs_grp_data_layout_auto_bits {
|
||||
struct mlx5_ifc_pcie_perf_cntrs_grp_data_layout_bits pcie_perf_cntrs_grp_data_layout;
|
||||
struct mlx5_ifc_pcie_tas_cntrs_grp_data_layout_bits pcie_tas_cntrs_grp_data_layout;
|
||||
u8 reserved_at_0[0x7c0];
|
||||
};
|
||||
|
||||
union mlx5_ifc_event_auto_bits {
|
||||
struct mlx5_ifc_comp_event_bits comp_event;
|
||||
struct mlx5_ifc_dct_events_bits dct_events;
|
||||
@@ -7320,18 +7240,6 @@ struct mlx5_ifc_ppcnt_reg_bits {
|
||||
union mlx5_ifc_eth_cntrs_grp_data_layout_auto_bits counter_set;
|
||||
};
|
||||
|
||||
struct mlx5_ifc_mpcnt_reg_bits {
|
||||
u8 reserved_at_0[0x8];
|
||||
u8 pcie_index[0x8];
|
||||
u8 reserved_at_10[0xa];
|
||||
u8 grp[0x6];
|
||||
|
||||
u8 clr[0x1];
|
||||
u8 reserved_at_21[0x1f];
|
||||
|
||||
union mlx5_ifc_pcie_cntrs_grp_data_layout_auto_bits counter_set;
|
||||
};
|
||||
|
||||
struct mlx5_ifc_ppad_reg_bits {
|
||||
u8 reserved_at_0[0x3];
|
||||
u8 single_mac[0x1];
|
||||
@@ -7937,7 +7845,6 @@ union mlx5_ifc_ports_control_registers_document_bits {
|
||||
struct mlx5_ifc_pmtu_reg_bits pmtu_reg;
|
||||
struct mlx5_ifc_ppad_reg_bits ppad_reg;
|
||||
struct mlx5_ifc_ppcnt_reg_bits ppcnt_reg;
|
||||
struct mlx5_ifc_mpcnt_reg_bits mpcnt_reg;
|
||||
struct mlx5_ifc_pplm_reg_bits pplm_reg;
|
||||
struct mlx5_ifc_pplr_reg_bits pplr_reg;
|
||||
struct mlx5_ifc_ppsc_reg_bits ppsc_reg;
|
||||
|
||||
@@ -73,13 +73,13 @@
|
||||
*/
|
||||
enum pageflags {
|
||||
PG_locked, /* Page is locked. Don't touch. */
|
||||
PG_waiters, /* Page has waiters, check its waitqueue */
|
||||
PG_error,
|
||||
PG_referenced,
|
||||
PG_uptodate,
|
||||
PG_dirty,
|
||||
PG_lru,
|
||||
PG_active,
|
||||
PG_waiters, /* Page has waiters, check its waitqueue. Must be bit #7 and in the same byte as "PG_locked" */
|
||||
PG_slab,
|
||||
PG_owner_priv_1, /* Owner use. If pagecache, fs may use*/
|
||||
PG_arch_1,
|
||||
|
||||
@@ -306,7 +306,9 @@ void radix_tree_iter_replace(struct radix_tree_root *,
|
||||
void radix_tree_replace_slot(struct radix_tree_root *root,
|
||||
void **slot, void *item);
|
||||
void __radix_tree_delete_node(struct radix_tree_root *root,
|
||||
struct radix_tree_node *node);
|
||||
struct radix_tree_node *node,
|
||||
radix_tree_update_node_t update_node,
|
||||
void *private);
|
||||
void *radix_tree_delete_item(struct radix_tree_root *, unsigned long, void *);
|
||||
void *radix_tree_delete(struct radix_tree_root *, unsigned long);
|
||||
void radix_tree_clear_tags(struct radix_tree_root *root,
|
||||
|
||||
@@ -9,7 +9,13 @@ struct device;
|
||||
struct page;
|
||||
struct scatterlist;
|
||||
|
||||
extern int swiotlb_force;
|
||||
enum swiotlb_force {
|
||||
SWIOTLB_NORMAL, /* Default - depending on HW DMA mask etc. */
|
||||
SWIOTLB_FORCE, /* swiotlb=force */
|
||||
SWIOTLB_NO_FORCE, /* swiotlb=noforce */
|
||||
};
|
||||
|
||||
extern enum swiotlb_force swiotlb_force;
|
||||
|
||||
/*
|
||||
* Maximum allowable number of contiguous slabs to map,
|
||||
@@ -108,11 +114,14 @@ swiotlb_dma_supported(struct device *hwdev, u64 mask);
|
||||
|
||||
#ifdef CONFIG_SWIOTLB
|
||||
extern void __init swiotlb_free(void);
|
||||
unsigned int swiotlb_max_segment(void);
|
||||
#else
|
||||
static inline void swiotlb_free(void) { }
|
||||
static inline unsigned int swiotlb_max_segment(void) { return 0; }
|
||||
#endif
|
||||
|
||||
extern void swiotlb_print_info(void);
|
||||
extern int is_swiotlb_buffer(phys_addr_t paddr);
|
||||
extern void swiotlb_set_max_segment(unsigned int);
|
||||
|
||||
#endif /* __LINUX_SWIOTLB_H */
|
||||
|
||||
Reference in New Issue
Block a user