Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/tidss: Rename 'wait_lock' to 'irq_lock'

The 'wait_lock' name seems to be a copy-paste from omapdrm, and makes no
sense here. Rename it to 'irq_lock'. Also clarify the related comment to
make it clear what it protects, and drop any comments related to
'wait_list' which doesn't exist in tidss.

Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
Reviewed-by: Aradhya Bhatia <aradhya.bhatia@linux.dev>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241021-tidss-irq-fix-v1-7-82ddaec94e4a@ideasonboard.com

+15 -15
+2 -2
drivers/gpu/drm/tidss/tidss_dispc.c
··· 2769 2769 { 2770 2770 unsigned long flags; 2771 2771 2772 - spin_lock_irqsave(&dispc->tidss->wait_lock, flags); 2772 + spin_lock_irqsave(&dispc->tidss->irq_lock, flags); 2773 2773 dispc_set_irqenable(dispc, 0); 2774 2774 dispc_read_and_clear_irqstatus(dispc); 2775 - spin_unlock_irqrestore(&dispc->tidss->wait_lock, flags); 2775 + spin_unlock_irqrestore(&dispc->tidss->irq_lock, flags); 2776 2776 2777 2777 for (unsigned int vp_idx = 0; vp_idx < dispc->feat->num_vps; ++vp_idx) 2778 2778 VP_REG_FLD_MOD(dispc, vp_idx, DISPC_VP_CONTROL, 0, 0, 0);
+1 -1
drivers/gpu/drm/tidss/tidss_drv.c
··· 140 140 141 141 platform_set_drvdata(pdev, tidss); 142 142 143 - spin_lock_init(&tidss->wait_lock); 143 + spin_lock_init(&tidss->irq_lock); 144 144 145 145 ret = dispc_init(tidss); 146 146 if (ret) {
+3 -2
drivers/gpu/drm/tidss/tidss_drv.h
··· 29 29 30 30 unsigned int irq; 31 31 32 - spinlock_t wait_lock; /* protects the irq masks */ 33 - dispc_irq_t irq_mask; /* enabled irqs in addition to wait_list */ 32 + /* protects the irq masks field and irqenable/irqstatus registers */ 33 + spinlock_t irq_lock; 34 + dispc_irq_t irq_mask; /* enabled irqs */ 34 35 }; 35 36 36 37 #define to_tidss(__dev) container_of(__dev, struct tidss_device, ddev)
+9 -10
drivers/gpu/drm/tidss/tidss_irq.c
··· 15 15 #include "tidss_irq.h" 16 16 #include "tidss_plane.h" 17 17 18 - /* call with wait_lock and dispc runtime held */ 19 18 static void tidss_irq_update(struct tidss_device *tidss) 20 19 { 21 - assert_spin_locked(&tidss->wait_lock); 20 + assert_spin_locked(&tidss->irq_lock); 22 21 23 22 dispc_set_irqenable(tidss->dispc, tidss->irq_mask); 24 23 } ··· 30 31 u32 hw_videoport = tcrtc->hw_videoport; 31 32 unsigned long flags; 32 33 33 - spin_lock_irqsave(&tidss->wait_lock, flags); 34 + spin_lock_irqsave(&tidss->irq_lock, flags); 34 35 tidss->irq_mask |= DSS_IRQ_VP_VSYNC_EVEN(hw_videoport) | 35 36 DSS_IRQ_VP_VSYNC_ODD(hw_videoport); 36 37 tidss_irq_update(tidss); 37 - spin_unlock_irqrestore(&tidss->wait_lock, flags); 38 + spin_unlock_irqrestore(&tidss->irq_lock, flags); 38 39 } 39 40 40 41 void tidss_irq_disable_vblank(struct drm_crtc *crtc) ··· 45 46 u32 hw_videoport = tcrtc->hw_videoport; 46 47 unsigned long flags; 47 48 48 - spin_lock_irqsave(&tidss->wait_lock, flags); 49 + spin_lock_irqsave(&tidss->irq_lock, flags); 49 50 tidss->irq_mask &= ~(DSS_IRQ_VP_VSYNC_EVEN(hw_videoport) | 50 51 DSS_IRQ_VP_VSYNC_ODD(hw_videoport)); 51 52 tidss_irq_update(tidss); 52 - spin_unlock_irqrestore(&tidss->wait_lock, flags); 53 + spin_unlock_irqrestore(&tidss->irq_lock, flags); 53 54 } 54 55 55 56 static irqreturn_t tidss_irq_handler(int irq, void *arg) ··· 59 60 unsigned int id; 60 61 dispc_irq_t irqstatus; 61 62 62 - spin_lock(&tidss->wait_lock); 63 + spin_lock(&tidss->irq_lock); 63 64 irqstatus = dispc_read_and_clear_irqstatus(tidss->dispc); 64 - spin_unlock(&tidss->wait_lock); 65 + spin_unlock(&tidss->irq_lock); 65 66 66 67 for (id = 0; id < tidss->num_crtcs; id++) { 67 68 struct drm_crtc *crtc = tidss->crtcs[id]; ··· 94 95 { 95 96 unsigned long flags; 96 97 97 - spin_lock_irqsave(&tidss->wait_lock, flags); 98 + spin_lock_irqsave(&tidss->irq_lock, flags); 98 99 tidss_irq_update(tidss); 99 - spin_unlock_irqrestore(&tidss->wait_lock, flags); 100 + spin_unlock_irqrestore(&tidss->irq_lock, flags); 100 101 } 101 102 102 103 int tidss_irq_install(struct drm_device *ddev, unsigned int irq)