mirror of https://gitee.com/openkylin/linux.git
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: Sean Paul <sean@poorly.run> Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org> Signed-off-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
ab07e0c19f
commit
8fe62a63a8
|
@ -70,7 +70,6 @@ msm-y := \
|
|||
disp/dpu1/dpu_hw_util.o \
|
||||
disp/dpu1/dpu_hw_vbif.o \
|
||||
disp/dpu1/dpu_io_util.o \
|
||||
disp/dpu1/dpu_irq.o \
|
||||
disp/dpu1/dpu_kms.o \
|
||||
disp/dpu1/dpu_mdss.o \
|
||||
disp/dpu1/dpu_plane.o \
|
||||
|
|
|
@ -376,10 +376,7 @@ void dpu_core_irq_preinstall(struct dpu_kms *dpu_kms)
|
|||
struct msm_drm_private *priv;
|
||||
int i;
|
||||
|
||||
if (!dpu_kms) {
|
||||
DPU_ERROR("invalid dpu_kms\n");
|
||||
return;
|
||||
} else if (!dpu_kms->dev) {
|
||||
if (!dpu_kms->dev) {
|
||||
DPU_ERROR("invalid drm device\n");
|
||||
return;
|
||||
} else if (!dpu_kms->dev->dev_private) {
|
||||
|
@ -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)
|
||||
{
|
||||
struct msm_drm_private *priv;
|
||||
int i;
|
||||
|
||||
if (!dpu_kms) {
|
||||
DPU_ERROR("invalid dpu_kms\n");
|
||||
return;
|
||||
} else if (!dpu_kms->dev) {
|
||||
if (!dpu_kms->dev) {
|
||||
DPU_ERROR("invalid drm device\n");
|
||||
return;
|
||||
} else if (!dpu_kms->dev->dev_private) {
|
||||
|
|
|
@ -23,13 +23,6 @@
|
|||
*/
|
||||
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_kms: DPU handle
|
||||
|
|
|
@ -1,66 +0,0 @@
|
|||
/* 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);
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
/* 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,
|
|||
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 = {
|
||||
.hw_init = dpu_kms_hw_init,
|
||||
.irq_preinstall = dpu_irq_preinstall,
|
||||
.irq_postinstall = dpu_irq_postinstall,
|
||||
.irq_uninstall = dpu_irq_uninstall,
|
||||
.irq = dpu_irq,
|
||||
.prepare_commit = dpu_kms_prepare_commit,
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
#include "dpu_hw_top.h"
|
||||
#include "dpu_io_util.h"
|
||||
#include "dpu_rm.h"
|
||||
#include "dpu_irq.h"
|
||||
#include "dpu_core_perf.h"
|
||||
|
||||
#define DRMID(x) ((x) ? (x)->base.id : -1)
|
||||
|
|
|
@ -9,6 +9,11 @@
|
|||
|
||||
#define HW_INTR_STATUS 0x0010
|
||||
|
||||
struct dpu_irq_controller {
|
||||
unsigned long enabled_mask;
|
||||
struct irq_domain *domain;
|
||||
};
|
||||
|
||||
struct dpu_mdss {
|
||||
struct msm_mdss base;
|
||||
void __iomem *mmio;
|
||||
|
|
Loading…
Reference in New Issue