From 95099d4622f8cb224d94e314c7a8e0df60b13f87 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Sat, 09 Dec 2023 08:38:01 +0000
Subject: [PATCH] enable docker ppp
---
kernel/drivers/mmc/host/dw_mmc-rockchip.c | 23 +++++++++++++++++------
1 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/kernel/drivers/mmc/host/dw_mmc-rockchip.c b/kernel/drivers/mmc/host/dw_mmc-rockchip.c
index b63b157..cdc97f8 100644
--- a/kernel/drivers/mmc/host/dw_mmc-rockchip.c
+++ b/kernel/drivers/mmc/host/dw_mmc-rockchip.c
@@ -1,10 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Copyright (c) 2014, Fuzhou Rockchip Electronics Co., Ltd
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
*/
#include <linux/module.h>
@@ -14,6 +10,7 @@
#include <linux/of_address.h>
#include <linux/mmc/slot-gpio.h>
#include <linux/pm_runtime.h>
+#include <linux/rockchip/cpu.h>
#include <linux/slab.h>
#include "dw_mmc.h"
@@ -394,6 +391,19 @@
"rockchip,rk3288-dw-mshc"))
host->bus_hz /= RK3288_CLKGEN_DIV;
+ if (of_device_is_compatible(host->dev->of_node,
+ "rockchip,rv1106-dw-mshc") &&
+ rockchip_get_cpu_version() == 0 &&
+ !strcmp(dev_name(host->dev), "ffaa0000.mmc")) {
+ if (device_property_read_bool(host->dev, "no-sd")) {
+ dev_err(host->dev, "Invalid usage, should be SD card only\n");
+ return -EINVAL;
+ }
+
+ host->is_rv1106_sd = true;
+ dev_info(host->dev, "is rv1106 sd\n");
+ }
+
host->need_xfer_timer = true;
return 0;
}
@@ -450,9 +460,9 @@
* pm_runtime_force_resume calls rpm resume callback
*/
pm_runtime_get_noresume(&pdev->dev);
+ pm_runtime_set_active(&pdev->dev);
if (use_rpm) {
- pm_runtime_set_active(&pdev->dev);
pm_runtime_enable(&pdev->dev);
pm_runtime_set_autosuspend_delay(&pdev->dev, 50);
pm_runtime_use_autosuspend(&pdev->dev);
@@ -496,6 +506,7 @@
.remove = dw_mci_rockchip_remove,
.driver = {
.name = "dwmmc_rockchip",
+ .probe_type = PROBE_PREFER_ASYNCHRONOUS,
.of_match_table = dw_mci_rockchip_match,
.pm = &dw_mci_rockchip_dev_pm_ops,
},
--
Gitblit v1.6.2