mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-04 20:19:47 +08:00

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
43 lines
1001 B
C
43 lines
1001 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright (C) 2018 Texas Instruments Incorporated - https://www.ti.com/
|
|
* Author: Tomi Valkeinen <tomi.valkeinen@ti.com>
|
|
*/
|
|
|
|
#ifndef __TIDSS_DRV_H__
|
|
#define __TIDSS_DRV_H__
|
|
|
|
#include <linux/spinlock.h>
|
|
|
|
#define TIDSS_MAX_PORTS 4
|
|
#define TIDSS_MAX_PLANES 4
|
|
|
|
typedef u32 dispc_irq_t;
|
|
|
|
struct tidss_device {
|
|
struct drm_device ddev; /* DRM device for DSS */
|
|
struct device *dev; /* Underlying DSS device */
|
|
|
|
const struct dispc_features *feat;
|
|
struct dispc_device *dispc;
|
|
|
|
unsigned int num_crtcs;
|
|
struct drm_crtc *crtcs[TIDSS_MAX_PORTS];
|
|
|
|
unsigned int num_planes;
|
|
struct drm_plane *planes[TIDSS_MAX_PLANES];
|
|
|
|
unsigned int irq;
|
|
|
|
/* protects the irq masks field and irqenable/irqstatus registers */
|
|
spinlock_t irq_lock;
|
|
dispc_irq_t irq_mask; /* enabled irqs */
|
|
};
|
|
|
|
#define to_tidss(__dev) container_of(__dev, struct tidss_device, ddev)
|
|
|
|
int tidss_runtime_get(struct tidss_device *tidss);
|
|
void tidss_runtime_put(struct tidss_device *tidss);
|
|
|
|
#endif
|