From 0d8657dd3056063fb115946b10157477b5c70451 Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Mon, 20 Nov 2023 09:09:45 +0000
Subject: [PATCH] enable lvds 1280x800
---
kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_pcie.c | 43 ++++++++++++++++++++++++++++++++++++++-----
1 files changed, 38 insertions(+), 5 deletions(-)
diff --git a/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_pcie.c b/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_pcie.c
index 96bc798..5c10144 100644
--- a/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_pcie.c
+++ b/kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_pcie.c
@@ -3557,17 +3557,28 @@
void
dhd_set_bus_params(struct dhd_bus *bus)
{
- if (bus->dhd->conf->dhd_poll >= 0) {
- bus->poll = bus->dhd->conf->dhd_poll;
+ struct dhd_conf *conf = bus->dhd->conf;
+
+ if (conf->dhd_poll >= 0) {
+ bus->poll = conf->dhd_poll;
if (!bus->pollrate)
bus->pollrate = 1;
- printf("%s: set polling mode %d\n", __FUNCTION__, bus->dhd->conf->dhd_poll);
+ printf("%s: set polling mode %d\n", __FUNCTION__, conf->dhd_poll);
}
- if (bus->dhd->conf->d2h_intr_control >= 0)
- bus->d2h_intr_control = bus->dhd->conf->d2h_intr_control;
+ if (conf->d2h_intr_control >= 0)
+ bus->d2h_intr_control = conf->d2h_intr_control;
printf("d2h_intr_method -> %s(%d); d2h_intr_control -> %s(%d)\n",
bus->d2h_intr_method ? "PCIE_MSI" : "PCIE_INTX", bus->d2h_intr_method,
bus->d2h_intr_control ? "HOST_IRQ" : "D2H_INTMASK", bus->d2h_intr_control);
+
+ if (conf->aspm != -1) {
+ bool aspm = conf->aspm ? TRUE : FALSE;
+ dhd_bus_aspm_enable_rc_ep(bus, aspm);
+ }
+ if (conf->l1ss != -1) {
+ bool l1ss = conf->l1ss ? TRUE : FALSE;
+ dhd_bus_l1ss_enable_rc_ep(bus, l1ss);
+ }
}
/**
@@ -17803,3 +17814,25 @@
val = 1;
dhd_sbreg_op(dhd, addr, &val, FALSE);
}
+
+#define BUS_SLEEP_WAIT_CNT 3
+#define BUS_SLEEP_WAIT_MS 20
+int
+dhd_bus_sleep(dhd_pub_t *dhdp, bool sleep, uint32 *intstatus)
+{
+ dhd_bus_t *bus = dhdp->bus;
+ int active, cnt = 0;
+
+ if (bus) {
+ while ((active = dhd_os_check_wakelock_all(bus->dhd)) &&
+ (cnt < BUS_SLEEP_WAIT_CNT)) {
+ OSL_SLEEP(BUS_SLEEP_WAIT_MS);
+ cnt++;
+ }
+ } else {
+ DHD_ERROR(("bus is NULL\n"));
+ active = -1;
+ }
+
+ return active;
+}
--
Gitblit v1.6.2