summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/dt-bindings/clock/msm-clocks-cobalt.h9
-rw-r--r--include/linux/inet_lro.h89
-rw-r--r--include/linux/leds-qpnp-flash-v2.h27
-rw-r--r--include/linux/sched.h1
-rw-r--r--include/media/videobuf2-core.h2
-rw-r--r--include/net/cnss.h32
-rw-r--r--include/net/cnss_common.h73
-rw-r--r--include/soc/qcom/clock-local2.h1
-rw-r--r--include/uapi/linux/videodev2.h2
-rw-r--r--include/uapi/media/msm_sde_rotator.h14
10 files changed, 150 insertions, 100 deletions
diff --git a/include/dt-bindings/clock/msm-clocks-cobalt.h b/include/dt-bindings/clock/msm-clocks-cobalt.h
index d3cfc622b323..5cdeb01a173b 100644
--- a/include/dt-bindings/clock/msm-clocks-cobalt.h
+++ b/include/dt-bindings/clock/msm-clocks-cobalt.h
@@ -306,6 +306,11 @@
#define clk_csi2_clk_src 0x4113589f
#define clk_csi3_clk_src 0xfd934012
#define clk_fd_core_clk_src 0xe4799ab7
+#define clk_ext_dp_phy_pll_vco 0x441b576b
+#define clk_ext_dp_phy_pll_link 0xea12644c
+#define clk_dp_link_clk_src 0x370d0626
+#define clk_dp_crypto_clk_src 0xf8faa811
+#define clk_dp_pixel_clk_src 0xf5dfbabf
#define clk_ext_extpclk_clk_src 0xe5b273af
#define clk_ext_pclk0_clk_src 0x087c1612
#define clk_ext_pclk1_clk_src 0x8067c5a3
@@ -405,6 +410,10 @@
#define clk_mmss_mdss_byte1_intf_clk 0xcf654d8e
#define clk_mmss_mdss_byte1_intf_div_clk 0xcdf334c5
#define clk_mmss_mdss_dp_aux_clk 0x23125eb6
+#define clk_mmss_mdss_dp_crypto_clk 0x9a072d4e
+#define clk_mmss_mdss_dp_link_clk 0x8dd302d1
+#define clk_mmss_mdss_dp_link_intf_clk 0x70e386e6
+#define clk_mmss_mdss_dp_pixel_clk 0xb707b765
#define clk_mmss_mdss_dp_gtc_clk 0xb59c151a
#define clk_mmss_mdss_esc0_clk 0x5721ff83
#define clk_mmss_mdss_esc1_clk 0xc3d0376b
diff --git a/include/linux/inet_lro.h b/include/linux/inet_lro.h
index 9a715cfa1fe3..365fb3be7ee7 100644
--- a/include/linux/inet_lro.h
+++ b/include/linux/inet_lro.h
@@ -81,6 +81,7 @@ struct net_lro_mgr {
#define LRO_F_EXTRACT_VLAN_ID 2 /* Set flag if VLAN IDs are extracted
from received packets and eth protocol
is still ETH_P_8021Q */
+#define LRO_F_NI 4 /* If not NAPI, Pass packets to stack via NI */
/*
* Set for generated SKBs that are not added to
@@ -122,6 +123,50 @@ struct net_lro_mgr {
};
/*
+ * Large Receive Offload (LRO) information provided by the driver
+ *
+ * Fields must be set by driver when using the lro_receive_skb_ext()
+ */
+struct net_lro_info {
+ /* bitmask indicating the supported fields */
+ unsigned long valid_fields;
+ /*
+ * Driver has checked the LRO eligibilty of the skb
+ */
+ #define LRO_ELIGIBILITY_CHECKED (1 << 0)
+ /*
+ * Driver has provided the TCP payload checksum
+ */
+ #define LRO_TCP_DATA_CSUM (1 << 1)
+ /*
+ * Driver has extracted the TCP window from the skb
+ * The value is in network format
+ */
+ #define LRO_TCP_WIN (1 << 2)
+ /*
+ * Driver has extracted the TCP sequence number from skb
+ * The value is in network format
+ */
+ #define LRO_TCP_SEQ_NUM (1 << 3)
+ /*
+ * Driver has extracted the TCP ack number from the skb
+ * The value is in network format
+ */
+ #define LRO_TCP_ACK_NUM (1 << 4)
+ /*
+ * Driver has provided the LRO descriptor
+ */
+ #define LRO_DESC (1 << 5)
+
+ bool lro_eligible;
+ __wsum tcp_data_csum;
+ __be16 tcp_win;
+ __be32 tcp_seq_num;
+ __be32 tcp_ack_num;
+ struct net_lro_desc *lro_desc;
+};
+
+/*
* Processes a SKB
*
* @lro_mgr: LRO manager to use
@@ -133,10 +178,54 @@ struct net_lro_mgr {
void lro_receive_skb(struct net_lro_mgr *lro_mgr,
struct sk_buff *skb,
void *priv);
+
+/*
+ * Processes an SKB
+ *
+ * This API provides means to pass any LRO information that has already
+ * been extracted by the driver
+ *
+ * @lro_mgr: LRO manager to use
+ * @skb: SKB to aggregate
+ * @priv: Private data that may be used by driver functions
+ * (for example get_tcp_ip_hdr)
+ * @lro_info: LRO information extracted by the driver
+ */
+
+void lro_receive_skb_ext(struct net_lro_mgr *lro_mgr,
+ struct sk_buff *skb,
+ void *priv,
+ struct net_lro_info *lro_info);
+
+/*
+ * Processes a fragment list
+ *
+ * This functions aggregate fragments and generate SKBs do pass
+ * the packets to the stack.
+ *
+ * @lro_mgr: LRO manager to use
+ * @frags: Fragment to be processed. Must contain entire header in first
+ * element.
+ * @len: Length of received data
+ * @true_size: Actual size of memory the fragment is consuming
+ * @priv: Private data that may be used by driver functions
+ * (for example get_tcp_ip_hdr)
+ */
+
+void lro_receive_frags(struct net_lro_mgr *lro_mgr,
+ struct skb_frag_struct *frags,
+ int len, int true_size, void *priv, __wsum sum);
+
/*
* Forward all aggregated SKBs held by lro_mgr to network stack
*/
void lro_flush_all(struct net_lro_mgr *lro_mgr);
+void lro_flush_pkt(struct net_lro_mgr *lro_mgr,
+ struct iphdr *iph, struct tcphdr *tcph);
+
+void lro_flush_desc(struct net_lro_mgr *lro_mgr,
+ struct net_lro_desc *lro_desc);
+
#endif
diff --git a/include/linux/leds-qpnp-flash-v2.h b/include/linux/leds-qpnp-flash-v2.h
index ae36a163ed21..47fd0699a9c1 100644
--- a/include/linux/leds-qpnp-flash-v2.h
+++ b/include/linux/leds-qpnp-flash-v2.h
@@ -16,30 +16,9 @@
#include <linux/leds.h>
#include "leds.h"
-/*
- * Configurations for each individual LED
- */
-struct flash_node_data {
- struct platform_device *pdev;
- struct led_classdev cdev;
- struct pinctrl *pinctrl;
- struct pinctrl_state *gpio_state_active;
- struct pinctrl_state *gpio_state_suspend;
- int ires_ua;
- int max_current;
- int current_ma;
- u8 duration;
- u8 id;
- u8 type;
- u8 ires;
- u8 hdrm_val;
- u8 current_reg_val;
- bool led_on;
-};
+#define ENABLE_REGULATOR BIT(0)
+#define QUERY_MAX_CURRENT BIT(1)
-struct flash_switch_data {
- struct platform_device *pdev;
- struct led_classdev cdev;
-};
+int qpnp_flash_led_prepare(struct led_classdev *led_cdev, int options);
#endif
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 61a5c00e66cd..06dd540192c7 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1482,6 +1482,7 @@ struct task_struct {
u32 init_load_pct;
u64 last_wake_ts;
u64 last_switch_out_ts;
+ u64 last_cpu_selected_ts;
struct related_thread_group *grp;
struct list_head grp_list;
u64 cpu_cycles;
diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h
index 647ebfe5174f..4984d372b04b 100644
--- a/include/media/videobuf2-core.h
+++ b/include/media/videobuf2-core.h
@@ -17,7 +17,7 @@
#include <linux/poll.h>
#include <linux/dma-buf.h>
-#define VB2_MAX_FRAME (32)
+#define VB2_MAX_FRAME (64)
#define VB2_MAX_PLANES (8)
enum vb2_memory {
diff --git a/include/net/cnss.h b/include/net/cnss.h
index 78d68fd22ded..ab9b50100504 100644
--- a/include/net/cnss.h
+++ b/include/net/cnss.h
@@ -15,7 +15,6 @@
#include <linux/device.h>
#include <linux/skbuff.h>
#include <linux/pci.h>
-#include <net/cnss_common.h>
#include <linux/mmc/sdio_func.h>
#ifdef CONFIG_CNSS
@@ -212,4 +211,35 @@ extern int cnss_wlan_query_oob_status(void);
extern int cnss_wlan_register_oob_irq_handler(oob_irq_handler_t handler,
void *pm_oob);
extern int cnss_wlan_unregister_oob_irq_handler(void *pm_oob);
+
+
+extern void cnss_dump_stack(struct task_struct *task);
+extern u8 *cnss_common_get_wlan_mac_address(struct device *dev, uint32_t *num);
+extern void cnss_init_work(struct work_struct *work, work_func_t func);
+extern void cnss_flush_delayed_work(void *dwork);
+extern void cnss_flush_work(void *work);
+extern void cnss_pm_wake_lock_timeout(struct wakeup_source *ws, ulong msec);
+extern void cnss_pm_wake_lock_release(struct wakeup_source *ws);
+extern void cnss_pm_wake_lock_destroy(struct wakeup_source *ws);
+extern void cnss_get_monotonic_boottime(struct timespec *ts);
+extern void cnss_get_boottime(struct timespec *ts);
+extern void cnss_init_delayed_work(struct delayed_work *work, work_func_t
+ func);
+extern int cnss_vendor_cmd_reply(struct sk_buff *skb);
+extern int cnss_set_cpus_allowed_ptr(struct task_struct *task, ulong cpu);
+extern int cnss_set_wlan_unsafe_channel(u16 *unsafe_ch_list, u16 ch_count);
+extern int cnss_get_wlan_unsafe_channel(u16 *unsafe_ch_list, u16 *ch_count,
+ u16 buf_len);
+extern int cnss_wlan_set_dfs_nol(const void *info, u16 info_len);
+extern int cnss_wlan_get_dfs_nol(void *info, u16 info_len);
+extern int cnss_common_request_bus_bandwidth(struct device *dev, int
+ bandwidth);
+extern void cnss_common_device_crashed(struct device *dev);
+extern void cnss_common_device_self_recovery(struct device *dev);
+extern void *cnss_common_get_virt_ramdump_mem(struct device *dev, unsigned long
+ *size);
+extern void cnss_common_schedule_recovery_work(struct device *dev);
+extern int cnss_common_set_wlan_mac_address(struct device *dev, const u8 *in,
+ uint32_t len);
+extern u8 *cnss_common_get_wlan_mac_address(struct device *dev, uint32_t *num);
#endif /* _NET_CNSS_H_ */
diff --git a/include/net/cnss_common.h b/include/net/cnss_common.h
deleted file mode 100644
index c5175a190b37..000000000000
--- a/include/net/cnss_common.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 and
- * only version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- */
-
-#ifndef _NET_CNSS_COMMON_H_
-#define _NET_CNSS_COMMON_H_
-
-#ifdef CONFIG_CNSS
-
-#define MAX_FIRMWARE_SIZE (1 * 1024 * 1024)
-/* max 20mhz channel count */
-#define CNSS_MAX_CH_NUM 45
-
-extern int cnss_set_wlan_unsafe_channel(u16 *unsafe_ch_list, u16 ch_count);
-extern int cnss_get_wlan_unsafe_channel(u16 *unsafe_ch_list,
- u16 *ch_count, u16 buf_len);
-
-extern int cnss_wlan_set_dfs_nol(const void *info, u16 info_len);
-extern int cnss_wlan_get_dfs_nol(void *info, u16 info_len);
-
-extern void cnss_init_work(struct work_struct *work, work_func_t func);
-extern void cnss_flush_work(void *work);
-extern void cnss_flush_delayed_work(void *dwork);
-extern void cnss_pm_wake_lock_timeout(struct wakeup_source *ws, ulong msec);
-extern void cnss_pm_wake_lock_release(struct wakeup_source *ws);
-extern void cnss_pm_wake_lock_destroy(struct wakeup_source *ws);
-extern void cnss_get_monotonic_boottime(struct timespec *ts);
-extern void cnss_get_boottime(struct timespec *ts);
-extern void cnss_init_delayed_work(struct delayed_work *work, work_func_t func);
-extern int cnss_vendor_cmd_reply(struct sk_buff *skb);
-extern int cnss_set_cpus_allowed_ptr(struct task_struct *task, ulong cpu);
-extern void cnss_dump_stack(struct task_struct *task);
-
-int cnss_pci_request_bus_bandwidth(int bandwidth);
-int cnss_sdio_request_bus_bandwidth(int bandwidth);
-extern int cnss_common_request_bus_bandwidth(struct device *dev,
- int bandwidth);
-
-void cnss_sdio_device_crashed(void);
-void cnss_pci_device_crashed(void);
-extern void cnss_common_device_crashed(struct device *dev);
-
-void cnss_pci_device_self_recovery(void);
-void cnss_sdio_device_self_recovery(void);
-extern void cnss_common_device_self_recovery(struct device *dev);
-
-void *cnss_pci_get_virt_ramdump_mem(unsigned long *size);
-void *cnss_sdio_get_virt_ramdump_mem(unsigned long *size);
-extern void *cnss_common_get_virt_ramdump_mem(struct device *dev,
- unsigned long *size);
-
-void cnss_sdio_schedule_recovery_work(void);
-void cnss_pci_schedule_recovery_work(void);
-extern void cnss_common_schedule_recovery_work(struct device *dev);
-
-extern int cnss_pcie_set_wlan_mac_address(const u8 *in, uint32_t len);
-extern int cnss_sdio_set_wlan_mac_address(const u8 *in, uint32_t len);
-extern int cnss_common_set_wlan_mac_address(struct device *dev,
- const u8 *in, uint32_t len);
-
-u8 *cnss_pci_get_wlan_mac_address(uint32_t *num);
-u8 *cnss_sdio_get_wlan_mac_address(uint32_t *num);
-extern u8 *cnss_common_get_wlan_mac_address(struct device *dev, uint32_t *num);
-#endif
-#endif /* _NET_CNSS_COMMON_H_ */
diff --git a/include/soc/qcom/clock-local2.h b/include/soc/qcom/clock-local2.h
index 7f785cf4d3a2..4f2fa36e920f 100644
--- a/include/soc/qcom/clock-local2.h
+++ b/include/soc/qcom/clock-local2.h
@@ -255,6 +255,7 @@ extern struct clk_ops clk_ops_branch_hw_ctl;
extern struct clk_ops clk_ops_vote;
extern struct clk_ops clk_ops_rcg_hdmi;
extern struct clk_ops clk_ops_rcg_edp;
+extern struct clk_ops clk_ops_rcg_dp;
extern struct clk_ops clk_ops_byte;
extern struct clk_ops clk_ops_pixel;
extern struct clk_ops clk_ops_byte_multiparent;
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
index c7bb78a0d57b..46b0402a730f 100644
--- a/include/uapi/linux/videodev2.h
+++ b/include/uapi/linux/videodev2.h
@@ -70,7 +70,7 @@
* Common stuff for both V4L1 and V4L2
* Moved from videodev.h
*/
-#define VIDEO_MAX_FRAME 32
+#define VIDEO_MAX_FRAME 64
#define VIDEO_MAX_PLANES 8
/*
diff --git a/include/uapi/media/msm_sde_rotator.h b/include/uapi/media/msm_sde_rotator.h
index d771959f2e03..461a171a42c1 100644
--- a/include/uapi/media/msm_sde_rotator.h
+++ b/include/uapi/media/msm_sde_rotator.h
@@ -13,9 +13,23 @@
#define SDE_PIX_FMT_BGRA_8888 V4L2_PIX_FMT_ARGB32
#define SDE_PIX_FMT_RGBX_8888 v4l2_fourcc('X', 'B', '2', '4')
#define SDE_PIX_FMT_BGRX_8888 V4L2_PIX_FMT_XRGB32
+#define SDE_PIX_FMT_XBGR_8888 v4l2_fourcc('R', 'X', '2', '4')
#define SDE_PIX_FMT_RGBA_5551 v4l2_fourcc('R', 'A', '1', '5')
+#define SDE_PIX_FMT_ARGB_1555 V4L2_PIX_FMT_ARGB555
+#define SDE_PIX_FMT_ABGR_1555 v4l2_fourcc('A', 'B', '1', '5')
+#define SDE_PIX_FMT_BGRA_5551 v4l2_fourcc('B', 'A', '1', '5')
+#define SDE_PIX_FMT_BGRX_5551 v4l2_fourcc('B', 'X', '1', '5')
+#define SDE_PIX_FMT_RGBX_5551 v4l2_fourcc('R', 'X', '1', '5')
+#define SDE_PIX_FMT_XBGR_1555 v4l2_fourcc('X', 'B', '1', '5')
+#define SDE_PIX_FMT_XRGB_1555 V4L2_PIX_FMT_XRGB555
#define SDE_PIX_FMT_ARGB_4444 V4L2_PIX_FMT_ARGB444
#define SDE_PIX_FMT_RGBA_4444 v4l2_fourcc('R', 'A', '1', '2')
+#define SDE_PIX_FMT_BGRA_4444 v4l2_fourcc('B', 'A', '1', '2')
+#define SDE_PIX_FMT_ABGR_4444 v4l2_fourcc('A', 'B', '1', '2')
+#define SDE_PIX_FMT_RGBX_4444 v4l2_fourcc('R', 'X', '1', '2')
+#define SDE_PIX_FMT_XRGB_4444 V4L2_PIX_FMT_XRGB444
+#define SDE_PIX_FMT_BGRX_4444 v4l2_fourcc('B', 'X', '1', '2')
+#define SDE_PIX_FMT_XBGR_4444 v4l2_fourcc('X', 'B', '1', '2')
#define SDE_PIX_FMT_RGB_888 V4L2_PIX_FMT_RGB24
#define SDE_PIX_FMT_BGR_888 V4L2_PIX_FMT_BGR24
#define SDE_PIX_FMT_RGB_565 V4L2_PIX_FMT_RGB565