summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Bestas <mkbestas@lineageos.org>2020-01-27 17:56:26 +0200
committerMichael Bestas <mkbestas@lineageos.org>2020-01-27 17:56:26 +0200
commit22d88e1acee89743969b02a4f79afbbde4ce7e34 (patch)
tree2a9b46904d6f830283432ef866e49f987d151cc9
parent86caabd611d82b4825d508938b15197041ba5f18 (diff)
parentd8b4ad87cc6c4e6419815a70cb050b818a4259a2 (diff)
Merge tag 'LA.UM.8.4.r1-05000-8x98.0' of https://source.codeaurora.org/quic/la/kernel/msm-4.4 into lineage-17.1-caf-msm8998
* tag 'LA.UM.8.4.r1-05000-8x98.0' of https://source.codeaurora.org/quic/la/kernel/msm-4.4: msm: ais: fix camif_cfg programming ARM: dts: msm: remove CARVEOUT ION for msm8996 ivi multi-gvm vplatform diag: Update diag logging mask definitions media: v4l2loopback: fix for dereferenced error soc: qcom: hab: run the dispatcher's tasklet w/ high priority Change-Id: I29dc15b5cea65c7bfce5b8ff2202d425165bdc07
-rw-r--r--arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-ivi-lv-mt.dts16
-rw-r--r--drivers/media/platform/msm/ais/isp/msm_isp47.c6
-rw-r--r--drivers/media/v4l2loopback-master/v4l2loopback.c7
-rw-r--r--drivers/soc/qcom/hab/hab_ghs.c2
-rw-r--r--drivers/soc/qcom/hab/hab_qvm.c4
-rw-r--r--include/linux/diagchar.h12
6 files changed, 27 insertions, 20 deletions
diff --git a/arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-ivi-lv-mt.dts b/arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-ivi-lv-mt.dts
index 8b2373e2c079..c9e0bc54e469 100644
--- a/arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-ivi-lv-mt.dts
+++ b/arch/arm/boot/dts/qcom/vplatform-lfv-msm8996-ivi-lv-mt.dts
@@ -1,4 +1,4 @@
-/* Copyright (c) 2018, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2019, 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
@@ -83,14 +83,18 @@
};
};
+&ion {
+ /delete-node/ qcom,ion-heap@25;
+
+ system_heap: qcom,ion-heap@25 {
+ reg = <25>;
+ qcom,ion-heap-type = "SYSTEM";
+ };
+};
+
&reserved_memory {
pmem_shared: pmem_shared_region@d0000000 {
reg = <0 0xd0000000 0 0x20000000>;
label = "pmem_shared_mem";
};
-
- ion_system: ion_system_region@100000000 {
- reg = <0x1 0x60000000 0 0x10000000>;
- label = "ion_system_mem";
- };
};
diff --git a/drivers/media/platform/msm/ais/isp/msm_isp47.c b/drivers/media/platform/msm/ais/isp/msm_isp47.c
index 1ddcab3ed331..666f1916eaa9 100644
--- a/drivers/media/platform/msm/ais/isp/msm_isp47.c
+++ b/drivers/media/platform/msm/ais/isp/msm_isp47.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2013-2019, 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
@@ -1323,8 +1323,8 @@ void msm_vfe47_cfg_camif(struct vfe_device *vfe_dev,
first_line = camif_cfg->first_line;
last_line = camif_cfg->last_line;
- msm_camera_io_w((camif_cfg->lines_per_frame) << 16 |
- (camif_cfg->pixels_per_line), vfe_dev->vfe_base + 0x484);
+ msm_camera_io_w((camif_cfg->lines_per_frame - 1) << 16 |
+ (camif_cfg->pixels_per_line - 1), vfe_dev->vfe_base + 0x484);
if (bus_sub_en) {
val = msm_camera_io_r(vfe_dev->vfe_base + 0x47C);
val &= 0xFFFFFFDF;
diff --git a/drivers/media/v4l2loopback-master/v4l2loopback.c b/drivers/media/v4l2loopback-master/v4l2loopback.c
index f8ade92b9407..b6e7f6a2a768 100644
--- a/drivers/media/v4l2loopback-master/v4l2loopback.c
+++ b/drivers/media/v4l2loopback-master/v4l2loopback.c
@@ -483,6 +483,8 @@ static ssize_t attr_store_format(struct device *cd,
struct v4l2_loopback_device *dev = v4l2loopback_cd2dev(cd);
int fps_num = 0, fps_den = 1;
+ if (!dev)
+ return -EINVAL;
/* only fps changing is supported */
if (sscanf(buf, "@%d/%d", &fps_num, &fps_den) > 0) {
struct v4l2_fract f = {
@@ -490,7 +492,6 @@ static ssize_t attr_store_format(struct device *cd,
.denominator = fps_num
};
int err = 0;
-
err = set_timeperframe(dev, &f);
if (err < 0)
return err;
@@ -671,7 +672,7 @@ static inline void unset_flags(struct v4l2l_buffer *buffer)
static void vidioc_fill_name(char *buf, int len, int nr)
{
if (card_label[nr] != NULL)
- snprintf(buf, len, card_label[nr]);
+ snprintf(buf, len, "%s\n", card_label[nr]);
else
snprintf(buf, len, "Dummy video device (0x%04X)", nr);
}
@@ -1909,7 +1910,7 @@ static int v4l2_loopback_mmap(struct file *file, struct vm_area_struct *vma)
page = (void *)vmalloc_to_page((void *)addr);
- if (vm_insert_page(vma, start, page) < 0)
+ if (!page || vm_insert_page(vma, start, page) < 0)
return -EAGAIN;
start += PAGE_SIZE;
diff --git a/drivers/soc/qcom/hab/hab_ghs.c b/drivers/soc/qcom/hab/hab_ghs.c
index f479d69b9e38..57c4513c4058 100644
--- a/drivers/soc/qcom/hab/hab_ghs.c
+++ b/drivers/soc/qcom/hab/hab_ghs.c
@@ -86,7 +86,7 @@ static void ghs_irq_handler(void *cookie)
(struct ghs_vdev *) (pchan ? pchan->hyp_data : NULL);
if (dev)
- tasklet_schedule(&dev->task);
+ tasklet_hi_schedule(&dev->task);
}
static int get_dt_name_idx(int vmid_base, int mmid,
diff --git a/drivers/soc/qcom/hab/hab_qvm.c b/drivers/soc/qcom/hab/hab_qvm.c
index f9f72fc1beb4..6f1cf26334f2 100644
--- a/drivers/soc/qcom/hab/hab_qvm.c
+++ b/drivers/soc/qcom/hab/hab_qvm.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
+/* Copyright (c) 2016-2019, 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
@@ -80,7 +80,7 @@ static irqreturn_t shm_irq_handler(int irq, void *_pchan)
if (status & 0xffff) {/*source bitmask indicator*/
rc = IRQ_HANDLED;
- tasklet_schedule(&dev->task);
+ tasklet_hi_schedule(&dev->task);
}
}
return rc;
diff --git a/include/linux/diagchar.h b/include/linux/diagchar.h
index 1046fb4611bf..d931f9690e2f 100644
--- a/include/linux/diagchar.h
+++ b/include/linux/diagchar.h
@@ -145,10 +145,10 @@ the appropriate macros. */
/* This needs to be modified manually now, when we add
a new RANGE of SSIDs to the msg_mask_tbl */
#define MSG_MASK_TBL_CNT 26
-#define APPS_EVENT_LAST_ID 0xCB4
+#define APPS_EVENT_LAST_ID 0xCB7
#define MSG_SSID_0 0
-#define MSG_SSID_0_LAST 130
+#define MSG_SSID_0_LAST 131
#define MSG_SSID_1 500
#define MSG_SSID_1_LAST 506
#define MSG_SSID_2 1000
@@ -341,13 +341,15 @@ static const uint32_t msg_bld_masks_0[] = {
MSG_LVL_MED,
MSG_LVL_HIGH,
MSG_LVL_LOW,
- MSG_LVL_LOW|MSG_LVL_MED|MSG_LVL_HIGH|MSG_LVL_ERROR|MSG_LVL_FATAL,
+ MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR |
+ MSG_LVL_FATAL,
MSG_LVL_HIGH,
MSG_LVL_LOW,
MSG_LVL_MED,
MSG_LVL_MED,
MSG_LVL_HIGH,
- MSG_LVL_HIGH
+ MSG_LVL_HIGH,
+ MSG_LVL_LOW | MSG_LVL_MED | MSG_LVL_HIGH | MSG_LVL_ERROR
};
static const uint32_t msg_bld_masks_1[] = {
@@ -911,7 +913,7 @@ static const uint32_t msg_bld_masks_25[] = {
/* LOG CODES */
static const uint32_t log_code_last_tbl[] = {
0x0, /* EQUIP ID 0 */
- 0x1CB2, /* EQUIP ID 1 */
+ 0x1CC0, /* EQUIP ID 1 */
0x0, /* EQUIP ID 2 */
0x0, /* EQUIP ID 3 */
0x4910, /* EQUIP ID 4 */