Commit 8fe62a63 authored by Jordan Crouse's avatar Jordan Crouse Committed by Rob Clark

drm/msm/dpu: Remove dpu_irq and unused functions

dpu_irq.c does some unneeded checks and passes control
to dpu_core_irq.c  The simple functions can be defined
in the same file where we use them and the files and
their associated hangers on can be deleted.

Additionally the postinstall hook isn't used even
in dpu_core_irq.c so zap that entire path.

v3: No changes
Reviewed-by: default avatarSean Paul <sean@poorly.run>
Signed-off-by: default avatarJordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
Signed-off-by: default avatarRob Clark <robdclark@gmail.com>
parent ab07e0c1
...@@ -70,7 +70,6 @@ msm-y := \ ...@@ -70,7 +70,6 @@ msm-y := \
disp/dpu1/dpu_hw_util.o \ disp/dpu1/dpu_hw_util.o \
disp/dpu1/dpu_hw_vbif.o \ disp/dpu1/dpu_hw_vbif.o \
disp/dpu1/dpu_io_util.o \ disp/dpu1/dpu_io_util.o \
disp/dpu1/dpu_irq.o \
disp/dpu1/dpu_kms.o \ disp/dpu1/dpu_kms.o \
disp/dpu1/dpu_mdss.o \ disp/dpu1/dpu_mdss.o \
disp/dpu1/dpu_plane.o \ disp/dpu1/dpu_plane.o \
......
...@@ -376,10 +376,7 @@ void dpu_core_irq_preinstall(struct dpu_kms *dpu_kms) ...@@ -376,10 +376,7 @@ void dpu_core_irq_preinstall(struct dpu_kms *dpu_kms)
struct msm_drm_private *priv; struct msm_drm_private *priv;
int i; int i;
if (!dpu_kms) { if (!dpu_kms->dev) {
DPU_ERROR("invalid dpu_kms\n");
return;
} else if (!dpu_kms->dev) {
DPU_ERROR("invalid drm device\n"); DPU_ERROR("invalid drm device\n");
return; return;
} else if (!dpu_kms->dev->dev_private) { } else if (!dpu_kms->dev->dev_private) {
...@@ -410,20 +407,12 @@ void dpu_core_irq_preinstall(struct dpu_kms *dpu_kms) ...@@ -410,20 +407,12 @@ void dpu_core_irq_preinstall(struct dpu_kms *dpu_kms)
} }
} }
int dpu_core_irq_postinstall(struct dpu_kms *dpu_kms)
{
return 0;
}
void dpu_core_irq_uninstall(struct dpu_kms *dpu_kms) void dpu_core_irq_uninstall(struct dpu_kms *dpu_kms)
{ {
struct msm_drm_private *priv; struct msm_drm_private *priv;
int i; int i;
if (!dpu_kms) { if (!dpu_kms->dev) {
DPU_ERROR("invalid dpu_kms\n");
return;
} else if (!dpu_kms->dev) {
DPU_ERROR("invalid drm device\n"); DPU_ERROR("invalid drm device\n");
return; return;
} else if (!dpu_kms->dev->dev_private) { } else if (!dpu_kms->dev->dev_private) {
......
...@@ -23,13 +23,6 @@ ...@@ -23,13 +23,6 @@
*/ */
void dpu_core_irq_preinstall(struct dpu_kms *dpu_kms); void dpu_core_irq_preinstall(struct dpu_kms *dpu_kms);
/**
* dpu_core_irq_postinstall - perform post-installation of core IRQ handler
* @dpu_kms: DPU handle
* @return: 0 if success; error code otherwise
*/
int dpu_core_irq_postinstall(struct dpu_kms *dpu_kms);
/** /**
* dpu_core_irq_uninstall - uninstall core IRQ handler * dpu_core_irq_uninstall - uninstall core IRQ handler
* @dpu_kms: DPU handle * @dpu_kms: DPU handle
......
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#define pr_fmt(fmt) "[drm:%s:%d] " fmt, __func__, __LINE__
#include <linux/irqdomain.h>
#include <linux/irq.h>
#include <linux/kthread.h>
#include "dpu_irq.h"
#include "dpu_core_irq.h"
irqreturn_t dpu_irq(struct msm_kms *kms)
{
struct dpu_kms *dpu_kms = to_dpu_kms(kms);
return dpu_core_irq(dpu_kms);
}
void dpu_irq_preinstall(struct msm_kms *kms)
{
struct dpu_kms *dpu_kms = to_dpu_kms(kms);
if (!dpu_kms->dev || !dpu_kms->dev->dev) {
pr_err("invalid device handles\n");
return;
}
dpu_core_irq_preinstall(dpu_kms);
}
int dpu_irq_postinstall(struct msm_kms *kms)
{
struct dpu_kms *dpu_kms = to_dpu_kms(kms);
int rc;
if (!kms) {
DPU_ERROR("invalid parameters\n");
return -EINVAL;
}
rc = dpu_core_irq_postinstall(dpu_kms);
return rc;
}
void dpu_irq_uninstall(struct msm_kms *kms)
{
struct dpu_kms *dpu_kms = to_dpu_kms(kms);
if (!kms) {
DPU_ERROR("invalid parameters\n");
return;
}
dpu_core_irq_uninstall(dpu_kms);
}
/* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __DPU_IRQ_H__
#define __DPU_IRQ_H__
#include <linux/kernel.h>
#include <linux/irqdomain.h>
#include "msm_kms.h"
/**
* dpu_irq_controller - define MDSS level interrupt controller context
* @enabled_mask: enable status of MDSS level interrupt
* @domain: interrupt domain of this controller
*/
struct dpu_irq_controller {
unsigned long enabled_mask;
struct irq_domain *domain;
};
/**
* dpu_irq_preinstall - perform pre-installation of MDSS IRQ handler
* @kms: pointer to kms context
* @return: none
*/
void dpu_irq_preinstall(struct msm_kms *kms);
/**
* dpu_irq_postinstall - perform post-installation of MDSS IRQ handler
* @kms: pointer to kms context
* @return: 0 if success; error code otherwise
*/
int dpu_irq_postinstall(struct msm_kms *kms);
/**
* dpu_irq_uninstall - uninstall MDSS IRQ handler
* @drm_dev: pointer to kms context
* @return: none
*/
void dpu_irq_uninstall(struct msm_kms *kms);
/**
* dpu_irq - MDSS level IRQ handler
* @kms: pointer to kms context
* @return: interrupt handling status
*/
irqreturn_t dpu_irq(struct msm_kms *kms);
#endif /* __DPU_IRQ_H__ */
...@@ -734,10 +734,30 @@ static void _dpu_kms_set_encoder_mode(struct msm_kms *kms, ...@@ -734,10 +734,30 @@ static void _dpu_kms_set_encoder_mode(struct msm_kms *kms,
encoder->base.id, rc); encoder->base.id, rc);
} }
static irqreturn_t dpu_irq(struct msm_kms *kms)
{
struct dpu_kms *dpu_kms = to_dpu_kms(kms);
return dpu_core_irq(dpu_kms);
}
static void dpu_irq_preinstall(struct msm_kms *kms)
{
struct dpu_kms *dpu_kms = to_dpu_kms(kms);
dpu_core_irq_preinstall(dpu_kms);
}
static void dpu_irq_uninstall(struct msm_kms *kms)
{
struct dpu_kms *dpu_kms = to_dpu_kms(kms);
dpu_core_irq_uninstall(dpu_kms);
}
static const struct msm_kms_funcs kms_funcs = { static const struct msm_kms_funcs kms_funcs = {
.hw_init = dpu_kms_hw_init, .hw_init = dpu_kms_hw_init,
.irq_preinstall = dpu_irq_preinstall, .irq_preinstall = dpu_irq_preinstall,
.irq_postinstall = dpu_irq_postinstall,
.irq_uninstall = dpu_irq_uninstall, .irq_uninstall = dpu_irq_uninstall,
.irq = dpu_irq, .irq = dpu_irq,
.prepare_commit = dpu_kms_prepare_commit, .prepare_commit = dpu_kms_prepare_commit,
......
...@@ -30,7 +30,6 @@ ...@@ -30,7 +30,6 @@
#include "dpu_hw_top.h" #include "dpu_hw_top.h"
#include "dpu_io_util.h" #include "dpu_io_util.h"
#include "dpu_rm.h" #include "dpu_rm.h"
#include "dpu_irq.h"
#include "dpu_core_perf.h" #include "dpu_core_perf.h"
#define DRMID(x) ((x) ? (x)->base.id : -1) #define DRMID(x) ((x) ? (x)->base.id : -1)
......
...@@ -9,6 +9,11 @@ ...@@ -9,6 +9,11 @@
#define HW_INTR_STATUS 0x0010 #define HW_INTR_STATUS 0x0010
struct dpu_irq_controller {
unsigned long enabled_mask;
struct irq_domain *domain;
};
struct dpu_mdss { struct dpu_mdss {
struct msm_mdss base; struct msm_mdss base;
void __iomem *mmio; void __iomem *mmio;
......
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