Commit f3096a4a authored by Hans Verkuil's avatar Hans Verkuil Committed by Tomi Valkeinen

omapdrm: hdmi4: prepare irq handling for HDMI CEC support

Pass struct omap_hdmi to the irq handler since it will need access
to hdmi.core.

Do not clear the IRQ_HDMI_CORE bit: that will be controlled by the
HDMI CEC code.
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarTomi Valkeinen <tomi.valkeinen@ti.com>
parent 5bebbbfe
...@@ -70,7 +70,8 @@ static void hdmi_runtime_put(void) ...@@ -70,7 +70,8 @@ static void hdmi_runtime_put(void)
static irqreturn_t hdmi_irq_handler(int irq, void *data) static irqreturn_t hdmi_irq_handler(int irq, void *data)
{ {
struct hdmi_wp_data *wp = data; struct omap_hdmi *hdmi = data;
struct hdmi_wp_data *wp = &hdmi->wp;
u32 irqstatus; u32 irqstatus;
irqstatus = hdmi_wp_get_irqstatus(wp); irqstatus = hdmi_wp_get_irqstatus(wp);
...@@ -166,8 +167,8 @@ static int hdmi_power_on_full(struct omap_dss_device *dssdev) ...@@ -166,8 +167,8 @@ static int hdmi_power_on_full(struct omap_dss_device *dssdev)
return r; return r;
/* disable and clear irqs */ /* disable and clear irqs */
hdmi_wp_clear_irqenable(wp, 0xffffffff); hdmi_wp_clear_irqenable(wp, ~HDMI_IRQ_CORE);
hdmi_wp_set_irqstatus(wp, 0xffffffff); hdmi_wp_set_irqstatus(wp, ~HDMI_IRQ_CORE);
vm = &hdmi.cfg.vm; vm = &hdmi.cfg.vm;
...@@ -242,7 +243,7 @@ static void hdmi_power_off_full(struct omap_dss_device *dssdev) ...@@ -242,7 +243,7 @@ static void hdmi_power_off_full(struct omap_dss_device *dssdev)
{ {
enum omap_channel channel = dssdev->dispc_channel; enum omap_channel channel = dssdev->dispc_channel;
hdmi_wp_clear_irqenable(&hdmi.wp, 0xffffffff); hdmi_wp_clear_irqenable(&hdmi.wp, ~HDMI_IRQ_CORE);
hdmi_wp_video_stop(&hdmi.wp); hdmi_wp_video_stop(&hdmi.wp);
...@@ -724,7 +725,7 @@ static int hdmi4_bind(struct device *dev, struct device *master, void *data) ...@@ -724,7 +725,7 @@ static int hdmi4_bind(struct device *dev, struct device *master, void *data)
r = devm_request_threaded_irq(&pdev->dev, irq, r = devm_request_threaded_irq(&pdev->dev, irq,
NULL, hdmi_irq_handler, NULL, hdmi_irq_handler,
IRQF_ONESHOT, "OMAP HDMI", &hdmi.wp); IRQF_ONESHOT, "OMAP HDMI", &hdmi);
if (r) { if (r) {
DSSERR("HDMI IRQ request failed\n"); DSSERR("HDMI IRQ request failed\n");
goto err; goto err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment