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/firmware/arm_sdei.c | 41 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 41 insertions(+), 0 deletions(-)
diff --git a/kernel/drivers/firmware/arm_sdei.c b/kernel/drivers/firmware/arm_sdei.c
index 08e8286..63b17b6 100644
--- a/kernel/drivers/firmware/arm_sdei.c
+++ b/kernel/drivers/firmware/arm_sdei.c
@@ -924,6 +924,47 @@
return err;
}
+
+static int sdei_api_interrupt_bind(u32 intr_num, u64 *result)
+{
+ return invoke_sdei_fn(SDEI_1_0_FN_SDEI_INTERRUPT_BIND, intr_num, 0, 0, 0,
+ 0, result);
+}
+
+int sdei_interrupt_bind(u32 intr_num, u32 *event_num)
+{
+ int err;
+ u64 result;
+
+ err = sdei_api_interrupt_bind(intr_num, &result);
+ if (!err)
+ *event_num = (u32)result;
+
+ return err;
+}
+
+static int sdei_api_interrupt_release(u32 event_num)
+{
+ return invoke_sdei_fn(SDEI_1_0_FN_SDEI_INTERRUPT_RELEASE, event_num, 0, 0, 0,
+ 0, NULL);
+}
+
+int sdei_interrupt_release(u32 event_num)
+{
+ struct sdei_event *event;
+
+ mutex_lock(&sdei_events_lock);
+ event = sdei_event_find(event_num);
+ mutex_unlock(&sdei_events_lock);
+
+ if (event) {
+ pr_err("%s: need unregister event:%d before release\n",
+ __func__, event_num);
+ return SDEI_DENIED;
+ }
+
+ return sdei_api_interrupt_release(event_num);
+}
#endif
static int sdei_get_conduit(struct platform_device *pdev)
--
Gitblit v1.6.2