@@ -257,85 +257,6 @@ static void hdac_update_stream(struct hdac_bus *bus, struct hdac_stream *stream)
257257 }
258258}
259259
260- static irqreturn_t hdac_bus_irq_handler (int irq , void * context )
261- {
262- struct hdac_bus * bus = context ;
263- u32 mask , int_enable ;
264- u32 status ;
265- int ret = IRQ_NONE ;
266-
267- if (!pm_runtime_active (bus -> dev ))
268- return ret ;
269-
270- spin_lock (& bus -> reg_lock );
271-
272- status = snd_hdac_chip_readl (bus , INTSTS );
273- if (status == 0 || status == UINT_MAX ) {
274- spin_unlock (& bus -> reg_lock );
275- return ret ;
276- }
277-
278- /* clear rirb int */
279- status = snd_hdac_chip_readb (bus , RIRBSTS );
280- if (status & RIRB_INT_MASK ) {
281- if (status & RIRB_INT_RESPONSE )
282- snd_hdac_bus_update_rirb (bus );
283- snd_hdac_chip_writeb (bus , RIRBSTS , RIRB_INT_MASK );
284- }
285-
286- mask = (0x1 << bus -> num_streams ) - 1 ;
287-
288- status = snd_hdac_chip_readl (bus , INTSTS );
289- status &= mask ;
290- if (status ) {
291- /* Disable stream interrupts; Re-enable in bottom half */
292- int_enable = snd_hdac_chip_readl (bus , INTCTL );
293- snd_hdac_chip_writel (bus , INTCTL , (int_enable & (~mask )));
294- ret = IRQ_WAKE_THREAD ;
295- } else {
296- ret = IRQ_HANDLED ;
297- }
298-
299- spin_unlock (& bus -> reg_lock );
300- return ret ;
301- }
302-
303- static irqreturn_t hdac_bus_irq_thread (int irq , void * context )
304- {
305- struct hdac_bus * bus = context ;
306- u32 status ;
307- u32 int_enable ;
308- u32 mask ;
309- unsigned long flags ;
310-
311- status = snd_hdac_chip_readl (bus , INTSTS );
312-
313- snd_hdac_bus_handle_stream_irq (bus , status , hdac_update_stream );
314-
315- /* Re-enable stream interrupts */
316- mask = (0x1 << bus -> num_streams ) - 1 ;
317- spin_lock_irqsave (& bus -> reg_lock , flags );
318- int_enable = snd_hdac_chip_readl (bus , INTCTL );
319- snd_hdac_chip_writel (bus , INTCTL , (int_enable | mask ));
320- spin_unlock_irqrestore (& bus -> reg_lock , flags );
321-
322- return IRQ_HANDLED ;
323- }
324-
325- static irqreturn_t avs_dsp_irq_handler (int irq , void * dev_id )
326- {
327- struct avs_dev * adev = dev_id ;
328-
329- return avs_dsp_op (adev , irq_handler );
330- }
331-
332- static irqreturn_t avs_dsp_irq_thread (int irq , void * dev_id )
333- {
334- struct avs_dev * adev = dev_id ;
335-
336- return avs_dsp_op (adev , irq_thread );
337- }
338-
339260static irqreturn_t avs_hda_interrupt (struct hdac_bus * bus )
340261{
341262 irqreturn_t ret = IRQ_NONE ;
@@ -359,7 +280,6 @@ static irqreturn_t avs_hda_interrupt(struct hdac_bus *bus)
359280 return ret ;
360281}
361282
362- __maybe_unused
363283static irqreturn_t avs_hda_irq_handler (int irq , void * dev_id )
364284{
365285 struct hdac_bus * bus = dev_id ;
@@ -375,7 +295,6 @@ static irqreturn_t avs_hda_irq_handler(int irq, void *dev_id)
375295 return IRQ_WAKE_THREAD ;
376296}
377297
378- __maybe_unused
379298static irqreturn_t avs_hda_irq_thread (int irq , void * dev_id )
380299{
381300 struct hdac_bus * bus = dev_id ;
@@ -391,16 +310,14 @@ static irqreturn_t avs_hda_irq_thread(int irq, void *dev_id)
391310 return IRQ_HANDLED ;
392311}
393312
394- __maybe_unused
395- static irqreturn_t avs_dsp_irq_handler2 (int irq , void * dev_id )
313+ static irqreturn_t avs_dsp_irq_handler (int irq , void * dev_id )
396314{
397315 struct avs_dev * adev = dev_id ;
398316
399317 return avs_hda_irq_handler (irq , & adev -> base .core );
400318}
401319
402- __maybe_unused
403- static irqreturn_t avs_dsp_irq_thread2 (int irq , void * dev_id )
320+ static irqreturn_t avs_dsp_irq_thread (int irq , void * dev_id )
404321{
405322 struct avs_dev * adev = dev_id ;
406323 struct hdac_bus * bus = & adev -> base .core ;
@@ -429,7 +346,7 @@ static int avs_hdac_acquire_irq(struct avs_dev *adev)
429346 return ret ;
430347 }
431348
432- ret = pci_request_irq (pci , 0 , hdac_bus_irq_handler , hdac_bus_irq_thread , bus ,
349+ ret = pci_request_irq (pci , 0 , avs_hda_irq_handler , avs_hda_irq_thread , bus ,
433350 KBUILD_MODNAME );
434351 if (ret < 0 ) {
435352 dev_err (adev -> dev , "Failed to request stream IRQ handler: %d\n" , ret );
@@ -610,8 +527,6 @@ static void avs_pci_shutdown(struct pci_dev *pci)
610527 snd_hdac_bus_stop_chip (bus );
611528 snd_hdac_display_power (bus , HDA_CODEC_IDX_CONTROLLER , false);
612529
613- if (avs_platattr_test (adev , CLDMA ))
614- pci_free_irq (pci , 0 , & code_loader );
615530 pci_free_irq (pci , 0 , adev );
616531 pci_free_irq (pci , 0 , bus );
617532 pci_free_irq_vectors (pci );
0 commit comments