mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 21:54:34 -04:00
Merge branch 'samsung/devel' of git+ssh://git.linaro.org/home/arndbergmann/public_git/arm-soc into next/devel2
This commit is contained in:
commit
1faca4ced8
585 changed files with 13442 additions and 10354 deletions
|
|
@ -47,6 +47,9 @@ enum {
|
|||
* @muxval: a number usually used to poke into some mux regiser to
|
||||
* mux in the signal to this channel
|
||||
* @cctl_opt: default options for the channel control register
|
||||
* @device_fc: Flow Controller Settings for ccfg register. Only valid for slave
|
||||
* channels. Fill with 'true' if peripheral should be flow controller. Direction
|
||||
* will be selected at Runtime.
|
||||
* @addr: source/target address in physical memory for this DMA channel,
|
||||
* can be the address of a FIFO register for burst requests for example.
|
||||
* This can be left undefined if the PrimeCell API is used for configuring
|
||||
|
|
@ -65,6 +68,7 @@ struct pl08x_channel_data {
|
|||
int max_signal;
|
||||
u32 muxval;
|
||||
u32 cctl;
|
||||
bool device_fc;
|
||||
dma_addr_t addr;
|
||||
bool circular_buffer;
|
||||
bool single;
|
||||
|
|
@ -77,13 +81,11 @@ struct pl08x_channel_data {
|
|||
* @addr: current address
|
||||
* @maxwidth: the maximum width of a transfer on this bus
|
||||
* @buswidth: the width of this bus in bytes: 1, 2 or 4
|
||||
* @fill_bytes: bytes required to fill to the next bus memory boundary
|
||||
*/
|
||||
struct pl08x_bus_data {
|
||||
dma_addr_t addr;
|
||||
u8 maxwidth;
|
||||
u8 buswidth;
|
||||
size_t fill_bytes;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -105,8 +107,16 @@ struct pl08x_phy_chan {
|
|||
|
||||
/**
|
||||
* struct pl08x_txd - wrapper for struct dma_async_tx_descriptor
|
||||
* @tx: async tx descriptor
|
||||
* @node: node for txd list for channels
|
||||
* @src_addr: src address of txd
|
||||
* @dst_addr: dst address of txd
|
||||
* @len: transfer len in bytes
|
||||
* @direction: direction of transfer
|
||||
* @llis_bus: DMA memory address (physical) start for the LLIs
|
||||
* @llis_va: virtual memory address start for the LLIs
|
||||
* @cctl: control reg values for current txd
|
||||
* @ccfg: config reg values for current txd
|
||||
*/
|
||||
struct pl08x_txd {
|
||||
struct dma_async_tx_descriptor tx;
|
||||
|
|
|
|||
|
|
@ -19,12 +19,8 @@ struct dma_pl330_peri {
|
|||
* Peri_Req i/f of the DMAC that is
|
||||
* peripheral could be reached from.
|
||||
*/
|
||||
u8 peri_id; /* {0, 31} */
|
||||
u8 peri_id; /* specific dma id */
|
||||
enum pl330_reqtype rqtype;
|
||||
|
||||
/* For M->D and D->M Channels */
|
||||
int burst_sz; /* in power of 2 */
|
||||
dma_addr_t fifo_addr;
|
||||
};
|
||||
|
||||
struct dma_pl330_platdata {
|
||||
|
|
|
|||
|
|
@ -63,15 +63,10 @@ static inline struct bgpio_chip *to_bgpio_chip(struct gpio_chip *gc)
|
|||
return container_of(gc, struct bgpio_chip, gc);
|
||||
}
|
||||
|
||||
int __devexit bgpio_remove(struct bgpio_chip *bgc);
|
||||
int __devinit bgpio_init(struct bgpio_chip *bgc,
|
||||
struct device *dev,
|
||||
unsigned long sz,
|
||||
void __iomem *dat,
|
||||
void __iomem *set,
|
||||
void __iomem *clr,
|
||||
void __iomem *dirout,
|
||||
void __iomem *dirin,
|
||||
bool big_endian);
|
||||
int bgpio_remove(struct bgpio_chip *bgc);
|
||||
int bgpio_init(struct bgpio_chip *bgc, struct device *dev,
|
||||
unsigned long sz, void __iomem *dat, void __iomem *set,
|
||||
void __iomem *clr, void __iomem *dirout, void __iomem *dirin,
|
||||
bool big_endian);
|
||||
|
||||
#endif /* __BASIC_MMIO_GPIO_H */
|
||||
|
|
|
|||
|
|
@ -124,6 +124,7 @@ enum rq_flag_bits {
|
|||
|
||||
__REQ_SYNC, /* request is sync (sync write or read) */
|
||||
__REQ_META, /* metadata io request */
|
||||
__REQ_PRIO, /* boost priority in cfq */
|
||||
__REQ_DISCARD, /* request to discard sectors */
|
||||
__REQ_SECURE, /* secure discard (used with __REQ_DISCARD) */
|
||||
|
||||
|
|
@ -161,14 +162,15 @@ enum rq_flag_bits {
|
|||
#define REQ_FAILFAST_DRIVER (1 << __REQ_FAILFAST_DRIVER)
|
||||
#define REQ_SYNC (1 << __REQ_SYNC)
|
||||
#define REQ_META (1 << __REQ_META)
|
||||
#define REQ_PRIO (1 << __REQ_PRIO)
|
||||
#define REQ_DISCARD (1 << __REQ_DISCARD)
|
||||
#define REQ_NOIDLE (1 << __REQ_NOIDLE)
|
||||
|
||||
#define REQ_FAILFAST_MASK \
|
||||
(REQ_FAILFAST_DEV | REQ_FAILFAST_TRANSPORT | REQ_FAILFAST_DRIVER)
|
||||
#define REQ_COMMON_MASK \
|
||||
(REQ_WRITE | REQ_FAILFAST_MASK | REQ_SYNC | REQ_META | REQ_DISCARD | \
|
||||
REQ_NOIDLE | REQ_FLUSH | REQ_FUA | REQ_SECURE)
|
||||
(REQ_WRITE | REQ_FAILFAST_MASK | REQ_SYNC | REQ_META | REQ_PRIO | \
|
||||
REQ_DISCARD | REQ_NOIDLE | REQ_FLUSH | REQ_FUA | REQ_SECURE)
|
||||
#define REQ_CLONE_MASK REQ_COMMON_MASK
|
||||
|
||||
#define REQ_RAHEAD (1 << __REQ_RAHEAD)
|
||||
|
|
|
|||
|
|
@ -873,7 +873,6 @@ struct blk_plug {
|
|||
struct list_head list;
|
||||
struct list_head cb_list;
|
||||
unsigned int should_sort;
|
||||
unsigned int count;
|
||||
};
|
||||
#define BLK_MAX_REQUEST_COUNT 16
|
||||
|
||||
|
|
|
|||
|
|
@ -24,8 +24,7 @@
|
|||
#include <linux/device.h>
|
||||
#include <linux/uio.h>
|
||||
#include <linux/dma-direction.h>
|
||||
|
||||
struct scatterlist;
|
||||
#include <linux/scatterlist.h>
|
||||
|
||||
/**
|
||||
* typedef dma_cookie_t - an opaque DMA cookie
|
||||
|
|
@ -519,6 +518,16 @@ static inline int dmaengine_slave_config(struct dma_chan *chan,
|
|||
(unsigned long)config);
|
||||
}
|
||||
|
||||
static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_single(
|
||||
struct dma_chan *chan, void *buf, size_t len,
|
||||
enum dma_data_direction dir, unsigned long flags)
|
||||
{
|
||||
struct scatterlist sg;
|
||||
sg_init_one(&sg, buf, len);
|
||||
|
||||
return chan->device->device_prep_slave_sg(chan, &sg, 1, dir, flags);
|
||||
}
|
||||
|
||||
static inline int dmaengine_terminate_all(struct dma_chan *chan)
|
||||
{
|
||||
return dmaengine_device_control(chan, DMA_TERMINATE_ALL, 0);
|
||||
|
|
|
|||
|
|
@ -162,10 +162,8 @@ struct inodes_stat_t {
|
|||
#define READA RWA_MASK
|
||||
|
||||
#define READ_SYNC (READ | REQ_SYNC)
|
||||
#define READ_META (READ | REQ_META)
|
||||
#define WRITE_SYNC (WRITE | REQ_SYNC | REQ_NOIDLE)
|
||||
#define WRITE_ODIRECT (WRITE | REQ_SYNC)
|
||||
#define WRITE_META (WRITE | REQ_META)
|
||||
#define WRITE_FLUSH (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_FLUSH)
|
||||
#define WRITE_FUA (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_FUA)
|
||||
#define WRITE_FLUSH_FUA (WRITE | REQ_SYNC | REQ_NOIDLE | REQ_FLUSH | REQ_FUA)
|
||||
|
|
|
|||
|
|
@ -553,6 +553,7 @@ struct kvm_ppc_pvinfo {
|
|||
#define KVM_CAP_SPAPR_TCE 63
|
||||
#define KVM_CAP_PPC_SMT 64
|
||||
#define KVM_CAP_PPC_RMA 65
|
||||
#define KVM_CAP_S390_GMAP 71
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
|
|
|
|||
|
|
@ -39,16 +39,6 @@ extern unsigned long mem_cgroup_isolate_pages(unsigned long nr_to_scan,
|
|||
struct mem_cgroup *mem_cont,
|
||||
int active, int file);
|
||||
|
||||
struct memcg_scanrecord {
|
||||
struct mem_cgroup *mem; /* scanend memory cgroup */
|
||||
struct mem_cgroup *root; /* scan target hierarchy root */
|
||||
int context; /* scanning context (see memcontrol.c) */
|
||||
unsigned long nr_scanned[2]; /* the number of scanned pages */
|
||||
unsigned long nr_rotated[2]; /* the number of rotated pages */
|
||||
unsigned long nr_freed[2]; /* the number of freed pages */
|
||||
unsigned long elapsed; /* nsec of time elapsed while scanning */
|
||||
};
|
||||
|
||||
#ifdef CONFIG_CGROUP_MEM_RES_CTLR
|
||||
/*
|
||||
* All "charge" functions with gfp_mask should use GFP_KERNEL or
|
||||
|
|
@ -127,15 +117,6 @@ mem_cgroup_get_reclaim_stat_from_page(struct page *page);
|
|||
extern void mem_cgroup_print_oom_info(struct mem_cgroup *memcg,
|
||||
struct task_struct *p);
|
||||
|
||||
extern unsigned long try_to_free_mem_cgroup_pages(struct mem_cgroup *mem,
|
||||
gfp_t gfp_mask, bool noswap,
|
||||
struct memcg_scanrecord *rec);
|
||||
extern unsigned long mem_cgroup_shrink_node_zone(struct mem_cgroup *mem,
|
||||
gfp_t gfp_mask, bool noswap,
|
||||
struct zone *zone,
|
||||
struct memcg_scanrecord *rec,
|
||||
unsigned long *nr_scanned);
|
||||
|
||||
#ifdef CONFIG_CGROUP_MEM_RES_CTLR_SWAP
|
||||
extern int do_swap_account;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ struct wm8994_ldo_pdata {
|
|||
struct regulator_init_data *init_data;
|
||||
};
|
||||
|
||||
#define WM8994_CONFIGURE_GPIO 0x8000
|
||||
#define WM8994_CONFIGURE_GPIO 0x10000
|
||||
|
||||
#define WM8994_DRC_REGS 5
|
||||
#define WM8994_EQ_REGS 20
|
||||
|
|
|
|||
|
|
@ -48,11 +48,12 @@ enum {LAST_NORM, LAST_ROOT, LAST_DOT, LAST_DOTDOT, LAST_BIND};
|
|||
*/
|
||||
#define LOOKUP_FOLLOW 0x0001
|
||||
#define LOOKUP_DIRECTORY 0x0002
|
||||
#define LOOKUP_AUTOMOUNT 0x0004
|
||||
|
||||
#define LOOKUP_PARENT 0x0010
|
||||
#define LOOKUP_REVAL 0x0020
|
||||
#define LOOKUP_RCU 0x0040
|
||||
#define LOOKUP_NO_AUTOMOUNT 0x0080
|
||||
|
||||
/*
|
||||
* Intent data
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -524,6 +524,7 @@ static inline struct sk_buff *alloc_skb_fclone(unsigned int size,
|
|||
extern bool skb_recycle_check(struct sk_buff *skb, int skb_size);
|
||||
|
||||
extern struct sk_buff *skb_morph(struct sk_buff *dst, struct sk_buff *src);
|
||||
extern int skb_copy_ubufs(struct sk_buff *skb, gfp_t gfp_mask);
|
||||
extern struct sk_buff *skb_clone(struct sk_buff *skb,
|
||||
gfp_t priority);
|
||||
extern struct sk_buff *skb_copy(const struct sk_buff *skb,
|
||||
|
|
|
|||
|
|
@ -231,6 +231,8 @@ enum
|
|||
LINUX_MIB_TCPDEFERACCEPTDROP,
|
||||
LINUX_MIB_IPRPFILTER, /* IP Reverse Path Filter (rp_filter) */
|
||||
LINUX_MIB_TCPTIMEWAITOVERFLOW, /* TCPTimeWaitOverflow */
|
||||
LINUX_MIB_TCPREQQFULLDOCOOKIES, /* TCPReqQFullDoCookies */
|
||||
LINUX_MIB_TCPREQQFULLDROP, /* TCPReqQFullDrop */
|
||||
__LINUX_MIB_MAX
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -252,6 +252,12 @@ static inline void lru_cache_add_file(struct page *page)
|
|||
extern unsigned long try_to_free_pages(struct zonelist *zonelist, int order,
|
||||
gfp_t gfp_mask, nodemask_t *mask);
|
||||
extern int __isolate_lru_page(struct page *page, int mode, int file);
|
||||
extern unsigned long try_to_free_mem_cgroup_pages(struct mem_cgroup *mem,
|
||||
gfp_t gfp_mask, bool noswap);
|
||||
extern unsigned long mem_cgroup_shrink_node_zone(struct mem_cgroup *mem,
|
||||
gfp_t gfp_mask, bool noswap,
|
||||
struct zone *zone,
|
||||
unsigned long *nr_scanned);
|
||||
extern unsigned long shrink_all_memory(unsigned long nr_pages);
|
||||
extern int vm_swappiness;
|
||||
extern int remove_mapping(struct address_space *mapping, struct page *page);
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
#ifndef _NET_FLOW_H
|
||||
#define _NET_FLOW_H
|
||||
|
||||
#include <linux/socket.h>
|
||||
#include <linux/in6.h>
|
||||
#include <linux/atomic.h>
|
||||
|
||||
|
|
@ -68,7 +69,7 @@ struct flowi4 {
|
|||
#define fl4_ipsec_spi uli.spi
|
||||
#define fl4_mh_type uli.mht.type
|
||||
#define fl4_gre_key uli.gre_key
|
||||
};
|
||||
} __attribute__((__aligned__(BITS_PER_LONG/8)));
|
||||
|
||||
static inline void flowi4_init_output(struct flowi4 *fl4, int oif,
|
||||
__u32 mark, __u8 tos, __u8 scope,
|
||||
|
|
@ -112,7 +113,7 @@ struct flowi6 {
|
|||
#define fl6_ipsec_spi uli.spi
|
||||
#define fl6_mh_type uli.mht.type
|
||||
#define fl6_gre_key uli.gre_key
|
||||
};
|
||||
} __attribute__((__aligned__(BITS_PER_LONG/8)));
|
||||
|
||||
struct flowidn {
|
||||
struct flowi_common __fl_common;
|
||||
|
|
@ -127,7 +128,7 @@ struct flowidn {
|
|||
union flowi_uli uli;
|
||||
#define fld_sport uli.ports.sport
|
||||
#define fld_dport uli.ports.dport
|
||||
};
|
||||
} __attribute__((__aligned__(BITS_PER_LONG/8)));
|
||||
|
||||
struct flowi {
|
||||
union {
|
||||
|
|
@ -161,6 +162,24 @@ static inline struct flowi *flowidn_to_flowi(struct flowidn *fldn)
|
|||
return container_of(fldn, struct flowi, u.dn);
|
||||
}
|
||||
|
||||
typedef unsigned long flow_compare_t;
|
||||
|
||||
static inline size_t flow_key_size(u16 family)
|
||||
{
|
||||
switch (family) {
|
||||
case AF_INET:
|
||||
BUILD_BUG_ON(sizeof(struct flowi4) % sizeof(flow_compare_t));
|
||||
return sizeof(struct flowi4) / sizeof(flow_compare_t);
|
||||
case AF_INET6:
|
||||
BUILD_BUG_ON(sizeof(struct flowi6) % sizeof(flow_compare_t));
|
||||
return sizeof(struct flowi6) / sizeof(flow_compare_t);
|
||||
case AF_DECnet:
|
||||
BUILD_BUG_ON(sizeof(struct flowidn) % sizeof(flow_compare_t));
|
||||
return sizeof(struct flowidn) / sizeof(flow_compare_t);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define FLOW_DIR_IN 0
|
||||
#define FLOW_DIR_OUT 1
|
||||
#define FLOW_DIR_FWD 2
|
||||
|
|
|
|||
|
|
@ -96,7 +96,8 @@ extern int sysctl_max_syn_backlog;
|
|||
*/
|
||||
struct listen_sock {
|
||||
u8 max_qlen_log;
|
||||
/* 3 bytes hole, try to use */
|
||||
u8 synflood_warned;
|
||||
/* 2 bytes hole, try to use */
|
||||
int qlen;
|
||||
int qlen_young;
|
||||
int clock_hand;
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@ typedef enum {
|
|||
SCTP_CMD_SEND_MSG, /* Send the whole use message */
|
||||
SCTP_CMD_SEND_NEXT_ASCONF, /* Send the next ASCONF after ACK */
|
||||
SCTP_CMD_PURGE_ASCONF_QUEUE, /* Purge all asconf queues.*/
|
||||
SCTP_CMD_SET_ASOC, /* Restore association context */
|
||||
SCTP_CMD_LAST
|
||||
} sctp_verb_t;
|
||||
|
||||
|
|
|
|||
|
|
@ -431,17 +431,34 @@ extern int tcp_disconnect(struct sock *sk, int flags);
|
|||
extern __u32 syncookie_secret[2][16-4+SHA_DIGEST_WORDS];
|
||||
extern struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb,
|
||||
struct ip_options *opt);
|
||||
#ifdef CONFIG_SYN_COOKIES
|
||||
extern __u32 cookie_v4_init_sequence(struct sock *sk, struct sk_buff *skb,
|
||||
__u16 *mss);
|
||||
#else
|
||||
static inline __u32 cookie_v4_init_sequence(struct sock *sk,
|
||||
struct sk_buff *skb,
|
||||
__u16 *mss)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
extern __u32 cookie_init_timestamp(struct request_sock *req);
|
||||
extern bool cookie_check_timestamp(struct tcp_options_received *opt, bool *);
|
||||
|
||||
/* From net/ipv6/syncookies.c */
|
||||
extern struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb);
|
||||
#ifdef CONFIG_SYN_COOKIES
|
||||
extern __u32 cookie_v6_init_sequence(struct sock *sk, struct sk_buff *skb,
|
||||
__u16 *mss);
|
||||
|
||||
#else
|
||||
static inline __u32 cookie_v6_init_sequence(struct sock *sk,
|
||||
struct sk_buff *skb,
|
||||
__u16 *mss)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
/* tcp_output.c */
|
||||
|
||||
extern void __tcp_push_pending_frames(struct sock *sk, unsigned int cur_mss,
|
||||
|
|
@ -460,6 +477,9 @@ extern int tcp_write_wakeup(struct sock *);
|
|||
extern void tcp_send_fin(struct sock *sk);
|
||||
extern void tcp_send_active_reset(struct sock *sk, gfp_t priority);
|
||||
extern int tcp_send_synack(struct sock *);
|
||||
extern int tcp_syn_flood_action(struct sock *sk,
|
||||
const struct sk_buff *skb,
|
||||
const char *proto);
|
||||
extern void tcp_push_one(struct sock *, unsigned int mss_now);
|
||||
extern void tcp_send_ack(struct sock *sk);
|
||||
extern void tcp_send_delayed_ack(struct sock *sk);
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ extern int datagram_recv_ctl(struct sock *sk,
|
|||
struct sk_buff *skb);
|
||||
|
||||
extern int datagram_send_ctl(struct net *net,
|
||||
struct sock *sk,
|
||||
struct msghdr *msg,
|
||||
struct flowi6 *fl6,
|
||||
struct ipv6_txoptions *opt,
|
||||
|
|
|
|||
Loading…
Reference in a new issue