中斷請求request irq

2021-06-18 13:38:15 字數 886 閱讀 1465

今天在跟marvell溝通問題的時候,覺得有些地方的**看得不夠仔細,於是細看了一下。發現了幾個請求中斷的函式。

request_threaded_irq,這個函式在核心中有注釋,引數有好多,大概引數有handler,這是要指定的中斷處理函式,thread_fn是要在核心執行緒中呼叫的函式,還有申請中斷的flag,有shared共享,共享時dev_id不能為空,因為要在釋放irq時區別共享的中斷,這個dev_id一般為某個info,oneshot(這個執行緒函式thread_fn執行前關閉這個中斷)。

當handler為空時,使用預設的處理,看到**裡申請核心執行緒方式的中斷的時候直接把handler置為null,中斷發生應該是直接把thread_fn扔到核心執行緒中讓它去呼叫,申請時用了oneshot,也就是呼叫thread_fn時關閉了這個中斷。這種扔到核心執行緒的方法其實很不錯,放到了下半部去處理。讓我想起了前段時候給marvell提的問題,看到他們在中斷處理中用了mutex_lock互斥鎖,當時別人也沒有仔細看,說這個不行,讓我提個問題,結果marvell的工程師說這是在下半部裡面,才發現,啊,確實是在下半部裡,大家都**了。

再看看request_irq,原來這個函式是對request_thread_irq的封裝,它給request_thread_irq的thread_fn引數傳進了乙個null,也就是只申請中斷處理函式,不要thread_fn,看來這樣確實有點合適啊,哈哈。

扯來扯去,扯了一大篇了,哈哈。

今天弄高通8的問題,rpc啊,弄得不知道它用rpc傳了些啥資料,蛋疼。。。

對了,今天早上去的時候還想弄弄那個觸控螢幕按鍵的長按問題,本來前段時間把那個驅動的**基本重寫了一遍,後來發現還是沒有實現這個功能,今天早上又突發奇想,在evkeybit上或了乙個ev_rep,想試試行不行,沒找到手機,所以就沒有試,哈哈。不過這個功能也不是特別需要吧。

中斷請求級

中斷請求級 在設計windows的時候,設計者3將中斷請求劃分為軟體中斷和硬體中斷,並將這些中斷都對映成不同級別的中斷請求級 irql 同步處理機制很大程度上依賴於中斷請求級。1.中斷請求 irq 與可程式設計中斷控制器 pic 中斷請求 irq 一般有兩種,一種是外部中斷,也就是硬體產生的中斷,另...

FIQ(快速中斷請求)和IRQ 外部中斷請求

快速中斷請求 fast interrupt request,fiq 在arm中,fiq模式是特權模式中的一種,同時也屬於異常模式一類。用於高速資料傳輸或通道處理,在觸發快速中斷請求 fiq 時進入。fiq和irq 外部中斷模式 之間有很大的區別。fiq模式必須盡快處理,處理結束後離開這個模式 irq...

CPU中斷請求理解

1 什麼是中斷 中斷表示我們請求操作事件準備就緒了,例如從磁碟讀取資料,我們知道cpu執行速度比磁碟執行速度快幾個數量級,因此如果cpu每次check磁碟是否準備就緒了,那麼系統的併發能力和效能會大大下降,但是採用中斷方式,非同步事件驅動方式來提公升系統效率,首先會在驅動程式中嵌入中斷程式,一旦磁碟...