@@ -192,9 +192,7 @@ static int tilcdc_unload(struct drm_device *dev)
192
192
drm_mode_config_cleanup (dev );
193
193
drm_vblank_cleanup (dev );
194
194
195
- pm_runtime_get_sync (dev -> dev );
196
195
drm_irq_uninstall (dev );
197
- pm_runtime_put_sync (dev -> dev );
198
196
199
197
#ifdef CONFIG_CPU_FREQ
200
198
cpufreq_unregister_notifier (& priv -> freq_transition ,
@@ -350,9 +348,7 @@ static int tilcdc_load(struct drm_device *dev, unsigned long flags)
350
348
goto fail_external_cleanup ;
351
349
}
352
350
353
- pm_runtime_get_sync (dev -> dev );
354
351
ret = drm_irq_install (dev , platform_get_irq (dev -> platformdev , 0 ));
355
- pm_runtime_put_sync (dev -> dev );
356
352
if (ret < 0 ) {
357
353
dev_err (dev -> dev , "failed to install IRQ handler\n" );
358
354
goto fail_vblank_cleanup ;
@@ -380,9 +376,7 @@ static int tilcdc_load(struct drm_device *dev, unsigned long flags)
380
376
return 0 ;
381
377
382
378
fail_irq_uninstall :
383
- pm_runtime_get_sync (dev -> dev );
384
379
drm_irq_uninstall (dev );
385
- pm_runtime_put_sync (dev -> dev );
386
380
387
381
fail_vblank_cleanup :
388
382
drm_vblank_cleanup (dev );
@@ -440,45 +434,6 @@ static irqreturn_t tilcdc_irq(int irq, void *arg)
440
434
return tilcdc_crtc_irq (priv -> crtc );
441
435
}
442
436
443
- static void tilcdc_irq_preinstall (struct drm_device * dev )
444
- {
445
- tilcdc_clear_irqstatus (dev , 0xffffffff );
446
- }
447
-
448
- static int tilcdc_irq_postinstall (struct drm_device * dev )
449
- {
450
- struct tilcdc_drm_private * priv = dev -> dev_private ;
451
-
452
- /* enable FIFO underflow irq: */
453
- if (priv -> rev == 1 ) {
454
- tilcdc_set (dev , LCDC_RASTER_CTRL_REG , LCDC_V1_UNDERFLOW_INT_ENA );
455
- } else {
456
- tilcdc_write (dev , LCDC_INT_ENABLE_SET_REG ,
457
- LCDC_V2_UNDERFLOW_INT_ENA |
458
- LCDC_V2_END_OF_FRAME0_INT_ENA |
459
- LCDC_FRAME_DONE | LCDC_SYNC_LOST );
460
- }
461
-
462
- return 0 ;
463
- }
464
-
465
- static void tilcdc_irq_uninstall (struct drm_device * dev )
466
- {
467
- struct tilcdc_drm_private * priv = dev -> dev_private ;
468
-
469
- /* disable irqs that we might have enabled: */
470
- if (priv -> rev == 1 ) {
471
- tilcdc_clear (dev , LCDC_RASTER_CTRL_REG ,
472
- LCDC_V1_UNDERFLOW_INT_ENA | LCDC_V1_PL_INT_ENA );
473
- tilcdc_clear (dev , LCDC_DMA_CTRL_REG , LCDC_V1_END_OF_FRAME_INT_ENA );
474
- } else {
475
- tilcdc_write (dev , LCDC_INT_ENABLE_CLR_REG ,
476
- LCDC_V2_UNDERFLOW_INT_ENA | LCDC_V2_PL_INT_ENA |
477
- LCDC_V2_END_OF_FRAME0_INT_ENA |
478
- LCDC_FRAME_DONE | LCDC_SYNC_LOST );
479
- }
480
- }
481
-
482
437
static int tilcdc_enable_vblank (struct drm_device * dev , unsigned int pipe )
483
438
{
484
439
return 0 ;
@@ -623,9 +578,6 @@ static struct drm_driver tilcdc_driver = {
623
578
.lastclose = tilcdc_lastclose ,
624
579
.set_busid = drm_platform_set_busid ,
625
580
.irq_handler = tilcdc_irq ,
626
- .irq_preinstall = tilcdc_irq_preinstall ,
627
- .irq_postinstall = tilcdc_irq_postinstall ,
628
- .irq_uninstall = tilcdc_irq_uninstall ,
629
581
.get_vblank_counter = drm_vblank_no_hw_counter ,
630
582
.enable_vblank = tilcdc_enable_vblank ,
631
583
.disable_vblank = tilcdc_disable_vblank ,
0 commit comments