![SolidHal](/assets/img/avatar_default.png)
Added three patches to fix the mmc issue as described here: https://github.com/SolidHal/Librean/issues/17 Source for the patches is the chrome os kernel. Links to the commits can be found in the issue. Locking into version 4.17.2 for the time being. Better organized patches. Added logic to only apply tested patches on fresh kernel. Moved some debian build improvements in from my devsus master branch, including switching from xfce to lxqt. May be able to add option between the two in the future, as the issue that led to switching DEs may have been with the xorg video drivers that are now skipped by the script and not xfce itself. Cleaned up uneeded old configs
83 lines
2.3 KiB
Diff
83 lines
2.3 KiB
Diff
From 4ffe79de7272234408a9179aa4c403ee1b67a362 Mon Sep 17 00:00:00 2001
|
|
From: Myy Miouyouyou <myy@miouyouyou.fr>
|
|
Date: Thu, 7 Dec 2017 21:27:52 +0100
|
|
Subject: [PATCH] soc: rockchip: power-domain: export idle request
|
|
|
|
We need to put the power status of HEVC/RKVDEC IP into IDLE
|
|
unless we can't reset that IP or the SoC would crash down.
|
|
rockchip_pmu_idle_request(dev, true)---> enter idle
|
|
rockchip_pmu_idle_request(dev, false)---> exit idle
|
|
|
|
Only the video codec drivers of rockchip platform would
|
|
request this patch currently.
|
|
|
|
I am not sure whether it is necessary to add a new function
|
|
at generic power domain. I want someone give me some advises
|
|
here.
|
|
|
|
Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
|
|
---
|
|
drivers/soc/rockchip/pm_domains.c | 23 +++++++++++++++++++++++
|
|
include/linux/rockchip_pmu.h | 15 +++++++++++++++
|
|
2 files changed, 38 insertions(+)
|
|
create mode 100644 include/linux/rockchip_pmu.h
|
|
|
|
diff --git a/drivers/soc/rockchip/pm_domains.c b/drivers/soc/rockchip/pm_domains.c
|
|
index 40b75748..0006ed53 100644
|
|
--- a/drivers/soc/rockchip/pm_domains.c
|
|
+++ b/drivers/soc/rockchip/pm_domains.c
|
|
@@ -180,6 +180,29 @@ static int rockchip_pmu_set_idle_request(struct rockchip_pm_domain *pd,
|
|
return 0;
|
|
}
|
|
|
|
+int rockchip_pmu_idle_request(struct device *dev, bool idle)
|
|
+{
|
|
+ struct generic_pm_domain *genpd;
|
|
+ struct rockchip_pm_domain *pd;
|
|
+ int ret;
|
|
+
|
|
+ if (IS_ERR_OR_NULL(dev))
|
|
+ return -EINVAL;
|
|
+
|
|
+ if (IS_ERR_OR_NULL(dev->pm_domain))
|
|
+ return -EINVAL;
|
|
+
|
|
+ genpd = pd_to_genpd(dev->pm_domain);
|
|
+ pd = to_rockchip_pd(genpd);
|
|
+
|
|
+ mutex_lock(&pd->pmu->mutex);
|
|
+ ret = rockchip_pmu_set_idle_request(pd, idle);
|
|
+ mutex_unlock(&pd->pmu->mutex);
|
|
+
|
|
+ return ret;
|
|
+}
|
|
+EXPORT_SYMBOL(rockchip_pmu_idle_request);
|
|
+
|
|
static int rockchip_pmu_save_qos(struct rockchip_pm_domain *pd)
|
|
{
|
|
int i;
|
|
diff --git a/include/linux/rockchip_pmu.h b/include/linux/rockchip_pmu.h
|
|
new file mode 100644
|
|
index 00000000..720b3314
|
|
--- /dev/null
|
|
+++ b/include/linux/rockchip_pmu.h
|
|
@@ -0,0 +1,15 @@
|
|
+/*
|
|
+ * pm_domain.h - Definitions and headers related to device power domains.
|
|
+ *
|
|
+ * Copyright (C) 2017 Randy Li <ayaka@soulik.info>.
|
|
+ *
|
|
+ * This file is released under the GPLv2.
|
|
+ */
|
|
+
|
|
+#ifndef _LINUX_ROCKCHIP_PM_H
|
|
+#define _LINUX_ROCKCHIP_PM_H
|
|
+#include <linux/device.h>
|
|
+
|
|
+int rockchip_pmu_idle_request(struct device *dev, bool idle);
|
|
+
|
|
+#endif /* _LINUX_ROCKCHIP_PM_H */
|
|
--
|
|
2.14.1
|
|
|