summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/boot/dts/qcom/msm8996-agave-adp.dtsi3
-rw-r--r--arch/arm64/configs/msm-auto-gvm-perf_defconfig2
-rw-r--r--arch/arm64/configs/msm-auto-gvm_defconfig2
-rw-r--r--drivers/gpu/drm/drm_mm.c11
-rw-r--r--drivers/gpu/drm/msm/msm_gem.c2
-rw-r--r--drivers/gpu/drm/msm/msm_gem_vma.c2
6 files changed, 18 insertions, 4 deletions
diff --git a/arch/arm/boot/dts/qcom/msm8996-agave-adp.dtsi b/arch/arm/boot/dts/qcom/msm8996-agave-adp.dtsi
index 44d60f60bf01..eb7654c26452 100644
--- a/arch/arm/boot/dts/qcom/msm8996-agave-adp.dtsi
+++ b/arch/arm/boot/dts/qcom/msm8996-agave-adp.dtsi
@@ -1137,6 +1137,9 @@
compatible = "qcom,adv7481";
reg = <0x70 0xff>;
cam_vdig-supply = <&pm8994_s3>;
+ tx_lanes = <4 2 1>;
+ settle_count = <16 16 16>;
+ res_array = "RES_1080P", "RES_720P", "RES_576P_480P";
/* Cameras powered by PMIC: */
cam_vio-supply = <&pm8994_lvs1>;
cam_vana-supply = <&pm8994_l17>;
diff --git a/arch/arm64/configs/msm-auto-gvm-perf_defconfig b/arch/arm64/configs/msm-auto-gvm-perf_defconfig
index 422309bf0ee4..969fc6b7e859 100644
--- a/arch/arm64/configs/msm-auto-gvm-perf_defconfig
+++ b/arch/arm64/configs/msm-auto-gvm-perf_defconfig
@@ -273,6 +273,8 @@ CONFIG_MSM_SMP2P_TEST=y
CONFIG_MSM_QMI_INTERFACE=y
CONFIG_MSM_IPC_ROUTER_SMD_XPRT=y
CONFIG_MSM_IPC_ROUTER_GLINK_XPRT=y
+CONFIG_QCOM_WATCHDOG_V2=y
+CONFIG_QCOM_MEMORY_DUMP_V2=y
CONFIG_MSM_BOOT_STATS=y
CONFIG_MSM_BOOT_TIME_MARKER=y
CONFIG_MSM_SUBSYSTEM_RESTART=y
diff --git a/arch/arm64/configs/msm-auto-gvm_defconfig b/arch/arm64/configs/msm-auto-gvm_defconfig
index d79a2f74db08..c5d68e6e2d58 100644
--- a/arch/arm64/configs/msm-auto-gvm_defconfig
+++ b/arch/arm64/configs/msm-auto-gvm_defconfig
@@ -279,6 +279,8 @@ CONFIG_MSM_SMP2P_TEST=y
CONFIG_MSM_QMI_INTERFACE=y
CONFIG_MSM_IPC_ROUTER_SMD_XPRT=y
CONFIG_MSM_IPC_ROUTER_GLINK_XPRT=y
+CONFIG_QCOM_WATCHDOG_V2=y
+CONFIG_QCOM_MEMORY_DUMP_V2=y
CONFIG_MSM_BOOT_STATS=y
CONFIG_MSM_BOOT_TIME_MARKER=y
CONFIG_MSM_SUBSYSTEM_RESTART=y
diff --git a/drivers/gpu/drm/drm_mm.c b/drivers/gpu/drm/drm_mm.c
index 6e4dd62d4ed9..dbf263d3511b 100644
--- a/drivers/gpu/drm/drm_mm.c
+++ b/drivers/gpu/drm/drm_mm.c
@@ -541,6 +541,9 @@ static struct drm_mm_node *get_first_hole(const struct drm_mm *mm,
if (flags & DRM_MM_SEARCH_BOTTOM_UP) {
struct rb_node *node = rb_first(&mm->holes_tree);
+ if (!node)
+ return NULL;
+
return rb_entry(node, struct drm_mm_node, hole_node);
} else if (flags & DRM_MM_SEARCH_BELOW) {
return list_entry((mm)->hole_stack.prev,
@@ -555,8 +558,12 @@ static struct drm_mm_node *get_next_hole(struct drm_mm_node *entry,
enum drm_mm_search_flags flags)
{
if (flags & DRM_MM_SEARCH_BOTTOM_UP) {
- return rb_entry(rb_next(&entry->hole_node),
- struct drm_mm_node, hole_node);
+ struct rb_node *node = rb_next(&entry->hole_node);
+
+ if (!node)
+ return NULL;
+
+ return rb_entry(node, struct drm_mm_node, hole_node);
} else if (flags & DRM_MM_SEARCH_BELOW) {
return list_entry(entry->hole_stack.prev,
struct drm_mm_node, hole_stack);
diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c
index d66071672c62..3610c8fca5f3 100644
--- a/drivers/gpu/drm/msm/msm_gem.c
+++ b/drivers/gpu/drm/msm/msm_gem.c
@@ -585,7 +585,7 @@ int msm_gem_get_iova(struct drm_gem_object *obj,
obj_remove_domain(domain);
mutex_unlock(&msm_obj->lock);
- return 0;
+ return ret;
}
/* get iova without taking a reference, used in places where you have
diff --git a/drivers/gpu/drm/msm/msm_gem_vma.c b/drivers/gpu/drm/msm/msm_gem_vma.c
index f399d24019e4..a5a768a63858 100644
--- a/drivers/gpu/drm/msm/msm_gem_vma.c
+++ b/drivers/gpu/drm/msm/msm_gem_vma.c
@@ -60,7 +60,7 @@ msm_gem_address_space_new(struct msm_mmu *mmu, const char *name,
if (aspace->va_len)
drm_mm_init(&aspace->mm, (start >> PAGE_SHIFT),
- (end >> PAGE_SHIFT) - 1);
+ (aspace->va_len >> PAGE_SHIFT));
kref_init(&aspace->kref);